// 文档 https://github.com/hooke007/MPV_lazy/wiki/4_GLSL

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 3.200 * > OUTPUT.h LUMA.h 3.200 * > *
//!WIDTH LUMA.w 4 *
//!HEIGHT LUMA.h 4 *
//!COMPONENTS 1
//!BIND LUMA
//!SAVE LANCZOS3
//!DESC [AiUpscale_Fast_4x_LineArt_RT] lanczos3

#define FIX(c)		max(abs(c), 1e-5)
#define PI		3.141592653

vec3 weight3(float x)
{
    vec3 s = FIX(2.0 * PI * vec3(x - 1.5, x - 0.5, x + 0.5));
    return sin(s) * sin(s / 3.0) / (s * s);
}

float line_run(float ypos, vec3 xpos1, vec3 xpos2, vec3 linetaps1, vec3 linetaps2)
{
    return float(LUMA_tex(vec2(xpos1.r, ypos))) * linetaps1.r + float(LUMA_tex(vec2(xpos1.g, ypos))) * linetaps2.r + float(LUMA_tex(vec2(xpos1.b, ypos))) * linetaps1.g + float(LUMA_tex(vec2(xpos2.r, ypos))) * linetaps2.g + float(LUMA_tex(vec2(xpos2.g, ypos))) * linetaps1.b + float(LUMA_tex(vec2(xpos2.b, ypos))) * linetaps2.b;
}

vec4 hook()
{
    vec2 pos = LUMA_pos + LUMA_pt * 0.5;
    vec2 f = fract(pos / LUMA_pt);

    vec3 linetaps1 = weight3(0.5 - f.x * 0.5);
    vec3 linetaps2 = weight3(1.0 - f.x * 0.5);
    vec3 columntaps1 = weight3(0.5 - f.y * 0.5);
    vec3 columntaps2 = weight3(1.0 - f.y * 0.5);

    float suml = dot(linetaps1, vec3(1.0)) + dot(linetaps2, vec3(1.0));
    float sumc = dot(columntaps1, vec3(1.0)) + dot(columntaps2, vec3(1.0));
    linetaps1 /= suml;
    linetaps2 /= suml;
    columntaps1 /= sumc;
    columntaps2 /= sumc;

    vec2 xystart = (-2.5 - f) * LUMA_pt + pos;
    vec3 xpos1 = vec3(xystart.x, xystart.x + LUMA_pt.x, xystart.x + LUMA_pt.x * 2.0);
    vec3 xpos2 = vec3(xystart.x + LUMA_pt.x * 3.0, xystart.x + LUMA_pt.x * 4.0, xystart.x + LUMA_pt.x * 5.0);

    return vec4(line_run(xystart.y, xpos1, xpos2, linetaps1, linetaps2) * columntaps1.r + line_run(xystart.y + LUMA_pt.y, xpos1, xpos2, linetaps1, linetaps2) * columntaps2.r + line_run(xystart.y + LUMA_pt.y * 2.0 , xpos1, xpos2, linetaps1, linetaps2) * columntaps1.g + line_run(xystart.y + LUMA_pt.y * 3.0 , xpos1, xpos2, linetaps1, linetaps2) * columntaps2.g + line_run(xystart.y + LUMA_pt.y * 4.0 , xpos1, xpos2, linetaps1, linetaps2) * columntaps1.b + line_run(xystart.y + LUMA_pt.y * 5.0 , xpos1, xpos2, linetaps1, linetaps2) * columntaps2.b, 0, 0, 0);
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 3.200 * > OUTPUT.h LUMA.h 3.200 * > *
//!COMPONENTS 4
//!BIND LUMA
//!SAVE FEATURE1
//!DESC [AiUpscale_Fast_4x_LineArt_RT] feature map 1

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(-0.494914978742599,0.094168186187744,0.054157339036465,0.304414957761765);
res += vec4(0.005381528753787,0.029607277363539,0.034326031804085,0.019664308056235) * float(LUMA_texOff(vec2(-2,-2)));
res += vec4(0.056729465723038,-0.041830431669950,-0.051172614097595,-0.004304414149374) * float(LUMA_texOff(vec2(-2,-1)));
res += vec4(-0.128487020730972,0.005297868512571,-0.096005737781525,-0.001448287279345) * float(LUMA_texOff(vec2(-2,0)));
res += vec4(0.042529232800007,0.021694619208574,0.052549887448549,0.023021606728435) * float(LUMA_texOff(vec2(-2,1)));
res += vec4(-0.038456313312054,-0.001546218758449,0.009399056434631,0.016746290028095) * float(LUMA_texOff(vec2(-2,2)));
res += vec4(-0.109998032450676,-0.007267636712641,-0.169339299201965,0.008877993561327) * float(LUMA_texOff(vec2(-1,-2)));
res += vec4(-0.055600114166737,-0.014048669487238,0.530254483222961,-0.033740229904652) * float(LUMA_texOff(vec2(-1,-1)));
res += vec4(-0.140611708164215,0.120752081274986,-0.117181979119778,0.086899429559708) * float(LUMA_texOff(vec2(-1,0)));
res += vec4(0.222702234983444,-0.151738971471786,-0.211742892861366,-0.069915249943733) * float(LUMA_texOff(vec2(-1,1)));
res += vec4(0.036465242505074,0.052463173866272,-0.062997497618198,-0.045381065458059) * float(LUMA_texOff(vec2(-1,2)));
res += vec4(-0.056191667914391,-0.009398479945958,-0.056618377566338,0.005481345113367) * float(LUMA_texOff(vec2(0,-2)));
res += vec4(0.203161224722862,0.743819832801819,-0.269036978483200,0.073690228164196) * float(LUMA_texOff(vec2(0,-1)));
res += vec4(0.633883655071259,-0.996028184890747,0.289346277713776,0.070279628038406) * float(LUMA_texOff(vec2(0,0)));
res += vec4(0.246842235326767,0.197759538888931,0.195298746228218,-0.258547931909561) * float(LUMA_texOff(vec2(0,1)));
res += vec4(0.006954686250538,-0.005125241819769,-0.031069731339812,0.125337153673172) * float(LUMA_texOff(vec2(0,2)));
res += vec4(-0.017339196056128,-0.001804755651392,0.028594676405191,-0.008459738455713) * float(LUMA_texOff(vec2(1,-2)));
res += vec4(-0.244459524750710,0.038112416863441,-0.049363244324923,0.032519560307264) * float(LUMA_texOff(vec2(1,-1)));
res += vec4(0.200227379798889,-0.054879009723663,-0.026359975337982,-0.665496706962585) * float(LUMA_texOff(vec2(1,0)));
res += vec4(0.125676587224007,0.043221030384302,0.023424703627825,-0.901753962039948) * float(LUMA_texOff(vec2(1,1)));
res += vec4(-0.063050061464310,-0.017810963094234,-0.019800757989287,-0.380739957094193) * float(LUMA_texOff(vec2(1,2)));
res += vec4(0.053101439028978,0.005326061043888,0.003491036826745,-0.020235305652022) * float(LUMA_texOff(vec2(2,-2)));
res += vec4(-0.013694335706532,0.056061387062073,-0.128124743700027,0.020808137953281) * float(LUMA_texOff(vec2(2,-1)));
res += vec4(-0.041171636432409,-0.076878592371941,0.063163921236992,0.081512361764908) * float(LUMA_texOff(vec2(2,0)));
res += vec4(-0.053098823875189,0.021126288920641,0.014425971545279,-0.340165197849274) * float(LUMA_texOff(vec2(2,1)));
res += vec4(0.014818453229964,-0.001626853714697,0.035009820014238,0.079535059630871) * float(LUMA_texOff(vec2(2,2)));
res = max(res, vec4(0.0)) + vec4(0.969048321247101,0.551314294338226,0.185917735099792,0.043164152652025) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(0.061911199241877,-0.029261704534292,0.044163081794977,0.072159223258495);
res += vec4(-0.021754762157798,-0.011802951805294,0.031884569674730,-0.035933807492256) * float(LUMA_texOff(vec2(-2,-2)));
res += vec4(-0.031190775334835,0.128949373960495,0.084933035075665,0.071646384894848) * float(LUMA_texOff(vec2(-2,-1)));
res += vec4(0.053722281008959,-0.094867102801800,-0.030951848253608,0.018226386979222) * float(LUMA_texOff(vec2(-2,0)));
res += vec4(-0.042274065315723,-0.004392838105559,-0.043937310576439,-0.104070775210857) * float(LUMA_texOff(vec2(-2,1)));
res += vec4(0.037841748446226,-0.049451936036348,-0.030181100592017,0.027576709166169) * float(LUMA_texOff(vec2(-2,2)));
res += vec4(0.041149530559778,-0.082186385989189,-0.042122140526772,0.123709060251713) * float(LUMA_texOff(vec2(-1,-2)));
res += vec4(0.064229689538479,0.056961260735989,-0.245802327990532,-0.133258998394012) * float(LUMA_texOff(vec2(-1,-1)));
res += vec4(-0.149513214826584,0.035043727606535,0.195363610982895,0.815301954746246) * float(LUMA_texOff(vec2(-1,0)));
res += vec4(-0.019302871078253,0.078646197915077,0.089724622666836,0.265026509761810) * float(LUMA_texOff(vec2(-1,1)));
res += vec4(0.064291208982468,-0.099280349910259,-0.025266870856285,0.005639845039696) * float(LUMA_texOff(vec2(-1,2)));
res += vec4(0.143288731575012,0.217121720314026,-0.075622975826263,-0.097251437604427) * float(LUMA_texOff(vec2(0,-2)));
res += vec4(-0.376182794570923,0.026317117735744,0.466404885053635,-0.086888998746872) * float(LUMA_texOff(vec2(0,-1)));
res += vec4(0.416026145219803,0.107365481555462,0.457553535699844,-0.915646970272064) * float(LUMA_texOff(vec2(0,0)));
res += vec4(-0.616989791393280,-0.318340510129929,-0.579521894454956,0.139533594250679) * float(LUMA_texOff(vec2(0,1)));
res += vec4(0.404642313718796,-0.287379294633865,0.020765580236912,-0.095925025641918) * float(LUMA_texOff(vec2(0,2)));
res += vec4(0.129197433590889,0.084494002163410,-0.038011793047190,-0.004926323425025) * float(LUMA_texOff(vec2(1,-2)));
res += vec4(-0.058559328317642,-0.340525209903717,0.106105856597424,0.073504492640495) * float(LUMA_texOff(vec2(1,-1)));
res += vec4(-0.074844107031822,0.379760086536407,-0.201841101050377,-0.016381412744522) * float(LUMA_texOff(vec2(1,0)));
res += vec4(-0.219815611839294,0.122886054217815,-0.196195006370544,-0.127480179071426) * float(LUMA_texOff(vec2(1,1)));
res += vec4(0.216342404484749,0.105499729514122,0.052028827369213,0.061067584902048) * float(LUMA_texOff(vec2(1,2)));
res += vec4(-0.004921276122332,0.075917422771454,0.044257063418627,0.000240413006395) * float(LUMA_texOff(vec2(2,-2)));
res += vec4(-0.036857705563307,0.148382529616356,-0.127605840563774,0.031965836882591) * float(LUMA_texOff(vec2(2,-1)));
res += vec4(0.063827797770500,-0.034151654690504,0.064306169748306,-0.063049629330635) * float(LUMA_texOff(vec2(2,0)));
res += vec4(0.041832819581032,-0.187984228134155,0.013445372693241,0.056652139872313) * float(LUMA_texOff(vec2(2,1)));
res += vec4(-0.040748354047537,0.006444296799600,-0.002178003778681,-0.039159506559372) * float(LUMA_texOff(vec2(2,2)));
res = max(res, vec4(0.0)) + vec4(0.343544781208038,0.833155870437622,0.342191874980927,0.406817346811295) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 3.200 * > OUTPUT.h LUMA.h 3.200 * > *
//!COMPONENTS 4
//!BIND LUMA
//!SAVE FEATURE2
//!DESC [AiUpscale_Fast_4x_LineArt_RT] feature map 2

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(0.110496826469898,-0.643778562545776,0.233981385827065,-0.407828271389008);
res += vec4(-0.028246525675058,-0.047857448458672,0.045548330992460,0.005011864006519) * float(LUMA_texOff(vec2(-2,-2)));
res += vec4(0.018958715721965,0.082647189497948,0.004222807008773,-0.006844067480415) * float(LUMA_texOff(vec2(-2,-1)));
res += vec4(-0.054786540567875,0.271616876125336,-0.021249774843454,0.021887674927711) * float(LUMA_texOff(vec2(-2,0)));
res += vec4(0.046942822635174,0.136059224605560,0.031580042093992,0.013431502506137) * float(LUMA_texOff(vec2(-2,1)));
res += vec4(-0.011976044625044,-0.017846757546067,-0.005576867144555,-0.012122552841902) * float(LUMA_texOff(vec2(-2,2)));
res += vec4(0.020005518570542,0.068104900419712,-0.026239031925797,0.022330550476909) * float(LUMA_texOff(vec2(-1,-2)));
res += vec4(0.031908661127090,-0.107327207922935,0.051318470388651,-0.042028021067381) * float(LUMA_texOff(vec2(-1,-1)));
res += vec4(-0.046392448246479,-0.246380418539047,-0.094292365014553,0.173289999365807) * float(LUMA_texOff(vec2(-1,0)));
res += vec4(-0.159789189696312,-0.207170799374580,0.174725264310837,-0.134237796068192) * float(LUMA_texOff(vec2(-1,1)));
res += vec4(-0.013907919637859,0.079784706234932,-0.248797729611397,0.054244309663773) * float(LUMA_texOff(vec2(-1,2)));
res += vec4(-0.021164650097489,0.074572667479515,-0.033081423491240,0.027313137426972) * float(LUMA_texOff(vec2(0,-2)));
res += vec4(-0.394054234027863,0.070524826645851,0.125238195061684,0.059838980436325) * float(LUMA_texOff(vec2(0,-1)));
res += vec4(-0.483011156320572,0.571931242942810,-0.302112877368927,0.601208746433258) * float(LUMA_texOff(vec2(0,0)));
res += vec4(0.290086865425110,-0.098409801721573,0.024358402937651,0.029882088303566) * float(LUMA_texOff(vec2(0,1)));
res += vec4(-0.016286222264171,0.130246400833130,-1.158838748931885,-0.055177740752697) * float(LUMA_texOff(vec2(0,2)));
res += vec4(0.048514291644096,0.166587248444557,0.016852419823408,-0.020606478676200) * float(LUMA_texOff(vec2(1,-2)));
res += vec4(-0.077419839799404,-0.319568157196045,-0.006307311356068,0.029703957960010) * float(LUMA_texOff(vec2(1,-1)));
res += vec4(0.743976354598999,0.199414864182472,-0.019980993121862,-0.084973946213722) * float(LUMA_texOff(vec2(1,0)));
res += vec4(-0.069763235747814,-0.227145031094551,0.121679872274399,-0.009372958913445) * float(LUMA_texOff(vec2(1,1)));
res += vec4(0.039248172193766,0.164741605520248,-0.137767896056175,0.051195535808802) * float(LUMA_texOff(vec2(1,2)));
res += vec4(-0.016040902584791,-0.045290991663933,-0.003370136488229,0.007569625042379) * float(LUMA_texOff(vec2(2,-2)));
res += vec4(0.054727148264647,0.048609424382448,0.004719031509012,-0.049243927001953) * float(LUMA_texOff(vec2(2,-1)));
res += vec4(0.001102769398130,0.007240721024573,0.034438148140907,0.039605077356100) * float(LUMA_texOff(vec2(2,0)));
res += vec4(-0.004239441826940,-0.060089204460382,-0.039229724556208,0.004640466067940) * float(LUMA_texOff(vec2(2,1)));
res += vec4(0.008715764619410,0.033636223524809,-0.001649997197092,0.006919757928699) * float(LUMA_texOff(vec2(2,2)));
res = max(res, vec4(0.0)) + vec4(0.484588712453842,0.001365829608403,0.014447081834078,0.153398767113686) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(0.399725854396820,0.269241064786911,0.093321561813354,-0.287590503692627);
res += vec4(-0.011112040840089,0.103545241057873,-0.024185523390770,-0.019301269203424) * float(LUMA_texOff(vec2(-2,-2)));
res += vec4(0.077258363366127,-0.060731638222933,-0.003862424287945,-0.026643013581634) * float(LUMA_texOff(vec2(-2,-1)));
res += vec4(-0.133086532354355,-0.066810034215450,0.115144826471806,0.006299429573119) * float(LUMA_texOff(vec2(-2,0)));
res += vec4(0.040536649525166,0.047205295413733,-0.133572414517403,-0.024122754111886) * float(LUMA_texOff(vec2(-2,1)));
res += vec4(-0.006944436579943,0.004168732091784,0.047561619430780,-0.017047286033630) * float(LUMA_texOff(vec2(-2,2)));
res += vec4(0.028820525854826,-0.155787765979767,-0.027562929317355,-0.012054488062859) * float(LUMA_texOff(vec2(-1,-2)));
res += vec4(-0.054825145751238,0.004217390902340,0.148442804813385,0.099221229553223) * float(LUMA_texOff(vec2(-1,-1)));
res += vec4(0.167539149522781,-0.287512212991714,0.305984020233154,0.168557479977608) * float(LUMA_texOff(vec2(-1,0)));
res += vec4(-0.025579793378711,0.053846303373575,0.036085322499275,0.148634687066078) * float(LUMA_texOff(vec2(-1,1)));
res += vec4(0.040701862424612,-0.069479897618294,-0.052517496049404,0.033049844205379) * float(LUMA_texOff(vec2(-1,2)));
res += vec4(-0.017232922837138,-0.006321554537863,0.136990010738373,0.029765034094453) * float(LUMA_texOff(vec2(0,-2)));
res += vec4(0.176810398697853,-0.321865618228912,-0.542204439640045,0.002322145272046) * float(LUMA_texOff(vec2(0,-1)));
res += vec4(-1.082105398178101,0.369794934988022,-1.014625310897827,0.745711028575897) * float(LUMA_texOff(vec2(0,0)));
res += vec4(0.185358747839928,0.067778646945953,0.433457314968109,-0.139132425189018) * float(LUMA_texOff(vec2(0,1)));
res += vec4(-0.084752760827541,-0.163228720426559,-0.029982009902596,0.060777027159929) * float(LUMA_texOff(vec2(0,2)));
res += vec4(0.054075479507446,-0.131551712751389,-0.008767405524850,-0.053668659180403) * float(LUMA_texOff(vec2(1,-2)));
res += vec4(-0.085012406110764,0.209059476852417,0.063110716640949,0.067026473581791) * float(LUMA_texOff(vec2(1,-1)));
res += vec4(0.196787267923355,0.097616747021675,-0.272804856300354,0.154289141297340) * float(LUMA_texOff(vec2(1,0)));
res += vec4(-0.098454609513283,-0.112699173390865,0.292059272527695,0.030828317627311) * float(LUMA_texOff(vec2(1,1)));
res += vec4(0.065764561295509,0.054328449070454,0.015540670603514,-0.030737904831767) * float(LUMA_texOff(vec2(1,2)));
res += vec4(-0.018561856821179,0.119441971182823,-0.057153865695000,-0.001717791543342) * float(LUMA_texOff(vec2(2,-2)));
res += vec4(0.032258275896311,-0.207159608602524,0.113187186419964,-0.000666655367240) * float(LUMA_texOff(vec2(2,-1)));
res += vec4(-0.005204623099416,0.042112864553928,0.072167962789536,0.011690367013216) * float(LUMA_texOff(vec2(2,0)));
res += vec4(0.024176478385925,-0.010527904145420,-0.085655719041824,0.003016159869730) * float(LUMA_texOff(vec2(2,1)));
res += vec4(-0.014842876233160,0.030069783329964,-0.018768435344100,-0.032621104270220) * float(LUMA_texOff(vec2(2,2)));
res = max(res, vec4(0.0)) + vec4(1.350158333778381,0.780562937259674,-0.008022414520383,1.487751483917236) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 3.200 * > OUTPUT.h LUMA.h 3.200 * > *
//!COMPONENTS 4
//!BIND LUMA
//!SAVE FEATURE3
//!DESC [AiUpscale_Fast_4x_LineArt_RT] feature map 3

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(-0.128170043230057,0.207137674093246,-0.172952488064766,-0.904214739799500);
res += vec4(0.001884575700387,0.004286536481231,-0.027015881612897,-0.007468014955521) * float(LUMA_texOff(vec2(-2,-2)));
res += vec4(-0.071412742137909,-0.036903411149979,-0.051262944936752,0.035502985119820) * float(LUMA_texOff(vec2(-2,-1)));
res += vec4(0.166532173752785,0.005198925733566,0.056609928607941,-0.011173356324434) * float(LUMA_texOff(vec2(-2,0)));
res += vec4(-0.050855256617069,-0.014631729573011,-0.011036905460060,-0.018382908776402) * float(LUMA_texOff(vec2(-2,1)));
res += vec4(-0.009101267904043,0.009713472798467,0.009317617863417,0.002166854217649) * float(LUMA_texOff(vec2(-2,2)));
res += vec4(0.007433384191245,-0.050567120313644,0.111850880086422,0.016712835058570) * float(LUMA_texOff(vec2(-1,-2)));
res += vec4(0.168479442596436,0.326383650302887,-0.071038387715816,-0.025239219889045) * float(LUMA_texOff(vec2(-1,-1)));
res += vec4(0.046720430254936,-0.040245663374662,-0.151559755206108,0.044205818325281) * float(LUMA_texOff(vec2(-1,0)));
res += vec4(0.038217954337597,0.016397295519710,-0.336053431034088,-0.013668081723154) * float(LUMA_texOff(vec2(-1,1)));
res += vec4(0.041224647313356,0.002983125392348,0.024520147591829,-0.002321813954040) * float(LUMA_texOff(vec2(-1,2)));
res += vec4(0.072343051433563,0.095549084246159,-0.111184306442738,0.020839458331466) * float(LUMA_texOff(vec2(0,-2)));
res += vec4(-0.351094305515289,-1.987919569015503,0.250896990299225,-0.050066363066435) * float(LUMA_texOff(vec2(0,-1)));
res += vec4(0.671300709247589,0.291302412748337,0.820886850357056,0.997656583786011) * float(LUMA_texOff(vec2(0,0)));
res += vec4(-0.361859917640686,-0.042061448097229,0.044379349797964,0.077240273356438) * float(LUMA_texOff(vec2(0,1)));
res += vec4(0.173100382089615,0.010652843862772,-0.101402111351490,-0.004072237294167) * float(LUMA_texOff(vec2(0,2)));
res += vec4(-0.036797627806664,-0.055687084794044,-0.013108598068357,-0.007656760513783) * float(LUMA_texOff(vec2(1,-2)));
res += vec4(-0.141141712665558,0.232744023203850,-0.009542892687023,0.005087602883577) * float(LUMA_texOff(vec2(1,-1)));
res += vec4(-0.314945608377457,-0.093382894992828,-0.091021075844765,0.043413363397121) * float(LUMA_texOff(vec2(1,0)));
res += vec4(0.163262084126472,0.016393281519413,-0.072744697332382,-0.034687504172325) * float(LUMA_texOff(vec2(1,1)));
res += vec4(0.060431458055973,0.015089961700141,0.008036352694035,0.004354306496680) * float(LUMA_texOff(vec2(1,2)));
res += vec4(-0.006924949586391,0.021578120067716,-0.032025739550591,-0.006668774876744) * float(LUMA_texOff(vec2(2,-2)));
res += vec4(0.014227159321308,-0.035815160721540,0.001932695275173,0.019491080194712) * float(LUMA_texOff(vec2(2,-1)));
res += vec4(0.031256288290024,0.002376421587542,0.067766249179840,-0.007631559390575) * float(LUMA_texOff(vec2(2,0)));
res += vec4(0.026117734611034,0.003739847801626,0.037425082176924,-0.007071636617184) * float(LUMA_texOff(vec2(2,1)));
res += vec4(-0.025878237560391,0.004782870877534,-0.033509805798531,-0.003108107019216) * float(LUMA_texOff(vec2(2,2)));
res = max(res, vec4(0.0)) + vec4(0.909278988838196,0.011240417137742,1.099552035331726,-0.008574789389968) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(-0.884333312511444,0.079992897808552,0.016083164140582,-0.314707279205322);
res += vec4(0.008372223936021,0.016840172931552,0.024956841021776,0.002174163004383) * float(LUMA_texOff(vec2(-2,-2)));
res += vec4(-0.015443568117917,0.013431027531624,-0.016490733250976,-0.023623568937182) * float(LUMA_texOff(vec2(-2,-1)));
res += vec4(0.029578646644950,-0.028512785211205,0.010859111323953,-0.030349658802152) * float(LUMA_texOff(vec2(-2,0)));
res += vec4(-0.040212601423264,-0.060973651707172,-0.015535806305707,0.030656374990940) * float(LUMA_texOff(vec2(-2,1)));
res += vec4(0.018158948048949,0.053823862224817,0.016526697203517,0.009493855759501) * float(LUMA_texOff(vec2(-2,2)));
res += vec4(-0.000431741354987,-0.036786150187254,-0.006462242454290,0.039863582700491) * float(LUMA_texOff(vec2(-1,-2)));
res += vec4(-0.005363406613469,0.013453286141157,-0.085732348263264,0.057904183864594) * float(LUMA_texOff(vec2(-1,-1)));
res += vec4(0.007252451498061,0.074621364474297,0.644061803817749,-0.154584586620331) * float(LUMA_texOff(vec2(-1,0)));
res += vec4(0.018818886950612,0.107634954154491,0.489623844623566,0.011108878999949) * float(LUMA_texOff(vec2(-1,1)));
res += vec4(-0.006471870467067,-0.074472039937973,-0.076588310301304,0.002084259875119) * float(LUMA_texOff(vec2(-1,2)));
res += vec4(-0.028885649517179,-0.011540407314897,0.002332418458536,-0.044413324445486) * float(LUMA_texOff(vec2(0,-2)));
res += vec4(0.051158241927624,0.390911519527435,0.082927323877811,-0.428770482540131) * float(LUMA_texOff(vec2(0,-1)));
res += vec4(-0.009891205467284,-1.422767043113708,-0.609759569168091,-0.135878950357437) * float(LUMA_texOff(vec2(0,0)));
res += vec4(-0.068486049771309,0.097877569496632,-0.508971631526947,-0.023436559364200) * float(LUMA_texOff(vec2(0,1)));
res += vec4(-0.004945098422468,0.039407633244991,0.072673968970776,-0.010718076489866) * float(LUMA_texOff(vec2(0,2)));
res += vec4(0.034416068345308,0.003054174594581,-0.039196263998747,-0.057758938521147) * float(LUMA_texOff(vec2(1,-2)));
res += vec4(-0.065275236964226,0.016376933082938,0.045797806233168,0.235522255301476) * float(LUMA_texOff(vec2(1,-1)));
res += vec4(1.006075263023376,0.492951333522797,-0.035295754671097,0.889672219753265) * float(LUMA_texOff(vec2(1,0)));
res += vec4(0.113242112100124,-0.010499953292310,0.048387009650469,0.059315931051970) * float(LUMA_texOff(vec2(1,1)));
res += vec4(-0.007016621530056,-0.030601100996137,-0.024663256481290,-0.068046241998672) * float(LUMA_texOff(vec2(1,2)));
res += vec4(-0.012941238470376,0.033494718372822,0.018969623371959,0.055499281734228) * float(LUMA_texOff(vec2(2,-2)));
res += vec4(0.012193076312542,-0.002997111063451,-0.023045161738992,-0.145066097378731) * float(LUMA_texOff(vec2(2,-1)));
res += vec4(0.046746265143156,-0.086739748716354,0.014793311245739,0.107502512633801) * float(LUMA_texOff(vec2(2,0)));
res += vec4(-0.045450218021870,0.014892890118062,-0.025888886302710,-0.055400777608156) * float(LUMA_texOff(vec2(2,1)));
res += vec4(0.005828252062201,0.021164854988456,0.015868153423071,0.062586814165115) * float(LUMA_texOff(vec2(2,2)));
res = max(res, vec4(0.0)) + vec4(-0.026969868689775,-0.025824010372162,-0.399110674858093,0.101859211921692) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 3.200 * > OUTPUT.h LUMA.h 3.200 * > *
//!COMPONENTS 4
//!BIND FEATURE1
//!BIND FEATURE2
//!BIND FEATURE3
//!SAVE MODEL1
//!DESC [AiUpscale_Fast_4x_LineArt_RT] mapping 1_1

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(-0.140155568718910,0.019621774554253,-0.022277398034930,-0.268048405647278);
res += mat4(-0.254462003707886,0.064941152930260,0.112238600850105,-0.043063361197710,-0.075427711009979,-0.120725095272064,-0.352837085723877,-0.071077570319176,-0.189419165253639,-0.011871358379722,0.097613401710987,-0.096066311001778,0.296370983123779,0.478072285652161,-0.418284058570862,-0.426728993654251) * FEATURE1_texOff(vec2(-1,-1));
res += mat4(-0.036389987915754,-0.329703241586685,-0.109459519386292,-0.224188059568405,0.213538050651550,-0.079903252422810,0.550556838512421,0.182054728269577,0.061753544956446,-0.064054466784000,-0.240840509533882,0.271532416343689,0.070061504840851,-0.889068901538849,-0.006524034310132,-0.311095952987671) * FEATURE1_texOff(vec2(-1,0));
res += mat4(-0.148293733596802,0.303082197904587,-0.073256745934486,-0.143856048583984,0.059683900326490,-0.036176115274429,0.243180856108665,-0.300352841615677,-0.050425089895725,-0.016882074996829,-0.152126967906952,0.070269763469696,-0.186450034379959,0.219516873359680,0.048359334468842,0.039240207523108) * FEATURE1_texOff(vec2(-1,1));
res += mat4(0.087831787765026,-0.030472882091999,-0.361392199993134,0.000486185745103,0.047317035496235,-0.031413443386555,0.158006846904755,0.503561675548553,0.122184671461582,-0.035652112215757,0.020364021882415,-0.068611837923527,0.250673711299896,0.422097921371460,-0.104466535151005,-0.201836526393890) * FEATURE1_texOff(vec2(0,-1));
res += mat4(0.489495903253555,-0.558767974376678,0.225543081760406,0.367779552936554,-0.290369212627411,0.484402328729630,-0.506030857563019,-0.185370936989784,-0.131033048033714,0.253828108310699,0.279770195484161,0.264028906822205,0.036314498633146,-0.439115822315216,-0.055448640137911,-0.028955228626728) * FEATURE1_texOff(vec2(0,0));
res += mat4(-0.140021800994873,0.638204216957092,-0.130525514483452,0.138493001461029,0.123722665011883,-0.955744624137878,-0.146312683820724,-0.083478145301342,-0.116518191993237,0.631231427192688,0.065763749182224,-0.435772091150284,-0.065862543880939,-0.032422527670860,-0.120894357562065,-0.094353444874287) * FEATURE1_texOff(vec2(0,1));
res += mat4(-0.089505694806576,0.071640536189079,0.165778100490570,0.537304818630219,0.187867373228073,-0.049737110733986,0.104542501270771,-0.140079736709595,0.417595118284225,-0.090213723480701,-0.048043504357338,0.035346649587154,-0.065818473696709,0.052118714898825,-0.079417407512665,0.088854856789112) * FEATURE1_texOff(vec2(1,-1));
res += mat4(0.182839483022690,-0.058342274278402,0.106233268976212,0.165304347872734,-0.677389919757843,-0.128316789865494,0.133878603577614,-0.093276344239712,-0.096724681556225,-0.128416106104851,0.004947056993842,-0.121221236884594,-0.115060620009899,-0.002178939059377,0.084920533001423,0.072597838938236) * FEATURE1_texOff(vec2(1,0));
res += mat4(0.064663857221603,-0.069430366158485,0.033973451703787,-0.086561247706413,0.452027052640915,0.164328798651695,-0.164994508028030,-0.030028736218810,-0.230379760265350,-0.379569202661514,-0.120215311646461,0.031037118285894,-0.168224141001701,-0.041843648999929,0.012373555451632,0.138226002454758) * FEATURE1_texOff(vec2(1,1));
res += mat4(0.170058712363243,-0.047139327973127,-0.475344687700272,-0.024783769622445,-0.145950153470039,-0.132000148296356,-0.139424219727516,-0.003449614625424,-0.070913679897785,0.270346999168396,0.447132140398026,-0.284590601921082,-0.097496651113033,0.004425150807947,-0.043229345232248,0.003760919673368) * FEATURE2_texOff(vec2(-1,-1));
res += mat4(-0.403202533721924,0.080506972968578,0.658400535583496,0.237743496894836,0.317201048135757,0.015002447180450,-0.080893717706203,0.525276482105255,-0.019523307681084,0.090232022106647,-0.075666822493076,-0.126272886991501,-0.296114385128021,-0.131481990218163,0.260863423347473,-0.081644386053085) * FEATURE2_texOff(vec2(-1,0));
res += mat4(0.021991485729814,0.011146030388772,0.179648473858833,0.180626392364502,0.364007174968719,-0.101390458643436,0.098008245229721,-0.076990664005280,0.016242692247033,-0.008930055424571,0.062704719603062,-0.036496564745903,-0.322489380836487,0.087159447371960,0.085328325629234,0.000866421265528) * FEATURE2_texOff(vec2(-1,1));
res += mat4(0.293013721704483,-0.065189801156521,0.237543478608131,0.265323162078857,-0.091114848852158,-0.067211538553238,-0.137340590357780,0.046917848289013,0.439596921205521,-0.384088277816772,-0.008462437428534,-0.282417565584183,-0.073971800506115,-0.083105079829693,0.057789087295532,0.005350356455892) * FEATURE2_texOff(vec2(0,-1));
res += mat4(0.443776458501816,0.347807914018631,-0.133229389786720,-0.047382239252329,-0.079231537878513,-0.027925685048103,0.134065255522728,0.401796907186508,0.005477428436279,-0.352863550186157,-0.149313852190971,-0.255173176527023,0.356767028570175,-0.035679489374161,-0.044866513460875,-0.184931367635727) * FEATURE2_texOff(vec2(0,0));
res += mat4(-0.014030865393579,0.008640001527965,-0.254458755254745,0.025306547060609,-0.269330263137817,-0.109176717698574,-0.022014589980245,0.002396868774667,-0.070156395435333,-0.100083239376545,-0.027305608615279,0.201004758477211,-0.179233863949776,0.062780655920506,-0.012287573888898,0.335923969745636) * FEATURE2_texOff(vec2(0,1));
res += mat4(-0.005193963646889,-0.029578233137727,-0.008750737644732,-0.043838471174240,0.322257608175278,-0.159740820527077,-0.039370778948069,-0.251735121011734,0.500355005264282,-0.031298592686653,0.023683281615376,0.553315222263336,0.019110912457108,-0.085381478071213,-0.001587367034517,0.120825707912445) * FEATURE2_texOff(vec2(1,-1));
res += mat4(-0.517255604267120,0.041946392506361,-0.014827816747129,0.132961377501488,-0.069744862616062,-0.010926827788353,0.037082593888044,-0.385698735713959,-0.151444330811501,0.110451556742191,0.060693591833115,0.071619413793087,0.072606481611729,-0.093410417437553,-0.200916692614555,-0.216597691178322) * FEATURE2_texOff(vec2(1,0));
res += mat4(-0.117123693227768,-0.136497512459755,-0.019756687805057,-0.040496200323105,0.040128607302904,0.076197281479836,0.084945470094681,0.004883160348982,0.065773099660873,0.069712579250336,0.047230429947376,-0.037853833287954,0.125607252120972,0.273992061614990,0.002462470903993,-0.030070800334215) * FEATURE2_texOff(vec2(1,1));
res += mat4(0.085163496434689,-0.065034076571465,0.024552127346396,-0.183125913143158,0.001796624623239,0.034406013786793,0.081616342067719,0.049106158316135,0.157458558678627,0.024111667647958,0.149668678641319,-0.085574544966221,0.305869460105896,0.097204580903053,0.217455670237541,0.126309052109718) * FEATURE3_texOff(vec2(-1,-1));
res += mat4(-0.104740366339684,0.042484216392040,-0.372334092855453,-0.257969826459885,-0.155821025371552,-0.009142849594355,-0.186012595891953,-0.086646981537342,0.064795367419720,-0.363713890314102,-0.254714041948318,-0.216715663671494,0.316396176815033,0.001911944127642,-0.558073461055756,0.264454632997513) * FEATURE3_texOff(vec2(-1,0));
res += mat4(0.194893300533295,0.071889474987984,0.037000425159931,0.134082540869713,-0.316222876310349,0.215323150157928,0.456456601619720,-0.509342670440674,0.065487228333950,0.225061640143394,-0.151239395141602,0.035140115767717,-0.850209176540375,0.054189119488001,0.232444539666176,0.202433139085770) * FEATURE3_texOff(vec2(-1,1));
res += mat4(0.257240146398544,0.135712504386902,0.058363359421492,-0.040876891463995,-0.132185876369476,0.046867374330759,-0.082172445952892,0.040694151073694,-0.089339882135391,-0.116837956011295,0.231214210391045,-0.174098312854767,0.038221076130867,-0.335271775722504,0.193918198347092,0.016703443601727) * FEATURE3_texOff(vec2(0,-1));
res += mat4(-0.153174594044685,-0.503137469291687,0.174340322613716,0.225979417562485,-0.039154734462500,-0.025481730699539,0.040532168000937,-0.190831601619720,-0.263990521430969,-0.438895225524902,-0.038186550140381,0.502480447292328,-1.302035212516785,-0.630605876445770,0.966670393943787,0.979630589485168) * FEATURE3_texOff(vec2(0,0));
res += mat4(-0.245875850319862,0.571763455867767,-0.042854212224483,-0.008929260075092,0.820386826992035,0.414748549461365,-0.166677162051201,0.061609938740730,-0.334784507751465,0.399289041757584,0.091289646923542,-0.023428333923221,-0.803423881530762,0.964704036712646,0.145590797066689,0.682562232017517) * FEATURE3_texOff(vec2(0,1));
res += mat4(-0.339293241500854,0.041189476847649,-0.038470875471830,-0.298236668109894,-0.284058362245560,0.010614192113280,0.027857037261128,-0.026599369943142,0.020793329924345,-0.105299502611160,-0.245278984308243,-0.287654608488083,0.372587502002716,0.043026961386204,-0.224516063928604,-0.663393080234528) * FEATURE3_texOff(vec2(1,-1));
res += mat4(0.145022079348564,-0.068931020796299,0.080664731562138,0.142951890826225,-0.023457815870643,-0.111197292804718,0.060696065425873,0.235875591635704,0.202087104320526,-0.249462917447090,0.173096492886543,0.156915917992592,-0.365766048431396,-0.061613485217094,-0.232247233390808,-0.205657646059990) * FEATURE3_texOff(vec2(1,0));
res += mat4(-0.129155382514000,-0.056549936532974,0.044736940413713,-0.088247381150723,0.479410022497177,0.044615752995014,0.064083144068718,0.434004813432693,0.259009510278702,0.355694025754929,-0.053133554756641,0.060792546719313,0.797939956188202,0.220023900270462,-0.298571616411209,-0.629953980445862) * FEATURE3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.286585003137589,-0.413688302040100,-0.606366991996765,0.573100090026855) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(0.040579948574305,-0.441841185092926,0.128353342413902,-0.154336512088776);
res += mat4(0.026200097054243,0.349696844816208,-0.013967999257147,-0.101890243589878,-0.130886986851692,-0.006859368178993,0.090479977428913,-0.096003420650959,0.078594960272312,0.195094883441925,0.083199083805084,0.073566623032093,0.094665482640266,0.017929267138243,-0.221906051039696,0.122237674891949) * FEATURE1_texOff(vec2(-1,-1));
res += mat4(-0.110153503715992,0.183453038334846,-0.013950432650745,0.220332637429237,-0.170081853866577,0.176701307296753,0.108576290309429,0.099413782358170,0.018257353454828,-0.061637420207262,0.131062686443329,-0.003213427960873,-0.030158067122102,0.055919997394085,0.046729478985071,-0.016242766752839) * FEATURE1_texOff(vec2(-1,0));
res += mat4(0.089212648570538,-0.044623091816902,0.085617296397686,0.071540609002113,0.182652115821838,-0.103703051805496,-0.004930873867124,-0.087674692273140,-0.100303374230862,0.145726472139359,-0.133391916751862,0.089416168630123,-0.253119051456451,-0.058430101722479,0.107250191271305,-0.083541132509708) * FEATURE1_texOff(vec2(-1,1));
res += mat4(0.384552240371704,-0.329412966966629,-0.054228644818068,0.245853558182716,0.030197726562619,-0.184964016079903,-0.317326366901398,0.138715237379074,0.193486511707306,-0.366703420877457,-0.115530341863632,0.109419703483582,-0.004867389332503,0.326714068651199,0.198538780212402,0.186534970998764) * FEATURE1_texOff(vec2(0,-1));
res += mat4(-0.430253148078918,0.140298545360565,-0.126586511731148,0.531499445438385,-0.527521729469299,0.132669985294342,0.402130633592606,-0.214396178722382,-0.814776241779327,0.143057674169540,-0.549067914485931,0.151678666472435,0.394425272941589,-0.395380973815918,0.278586357831955,-0.222306832671165) * FEATURE1_texOff(vec2(0,0));
res += mat4(0.344281911849976,0.004830773454159,-0.091476842761040,-0.117388755083084,0.141412228345871,0.085740864276886,-0.166477218270302,0.292727828025818,-0.232224583625793,0.186013102531433,-0.085037097334862,-0.052705261856318,-0.216340392827988,0.172654196619987,-0.036619488149881,-0.241893917322159) * FEATURE1_texOff(vec2(0,1));
res += mat4(-0.217407777905464,0.138469219207764,0.211456835269928,0.042503181844950,0.043398261070251,0.166542574763298,-0.224297523498535,0.100506216287613,0.106985777616501,0.135990843176842,-0.297463595867157,0.148302540183067,-0.069157697260380,0.110664993524551,-0.202400952577591,0.098166078329086) * FEATURE1_texOff(vec2(1,-1));
res += mat4(-0.003751176409423,0.175844520330429,0.175753548741341,-0.606851160526276,0.219664305448532,-0.231339767575264,0.037059035152197,-0.141744092106819,-0.042052526026964,-0.081250138580799,0.445071041584015,-0.276468127965927,0.173893779516220,-0.265957325696945,-0.530950725078583,0.439898163080215) * FEATURE1_texOff(vec2(1,0));
res += mat4(-0.091451883316040,-0.029793651774526,0.003621120471507,0.154789403080940,-0.148480996489525,0.014115685597062,0.142146095633507,-0.069667309522629,-0.057761084288359,0.043529838323593,0.138121709227562,-0.196086481213570,0.221153631806374,-0.270402014255524,0.132287383079529,0.014348409138620) * FEATURE1_texOff(vec2(1,1));
res += mat4(0.145313322544098,0.166531220078468,0.163042500615120,-0.098153091967106,-0.025914184749126,0.161811321973801,-0.168945312500000,-0.030821435153484,-0.201647177338600,0.072493307292461,0.149480536580086,-0.018130680546165,-0.089716158807278,0.048616852611303,-0.035127412527800,-0.062949948012829) * FEATURE2_texOff(vec2(-1,-1));
res += mat4(-0.015826066955924,0.363755553960800,0.049197871237993,0.081107094883919,-0.265698045492172,0.032432854175568,-0.218525469303131,0.095320843160152,-0.175620928406715,-0.307981401681900,-0.203443139791489,0.169889032840729,-0.089783035218716,-0.182799324393272,-0.179383307695389,0.122015923261642) * FEATURE2_texOff(vec2(-1,0));
res += mat4(0.098371967673302,-0.044170685112476,-0.084510087966919,-0.034756064414978,0.097028248012066,-0.359742760658264,0.061918511986732,0.163748696446419,0.138733342289925,-0.224692121148109,0.149476692080498,-0.050143975764513,0.220174267888069,-0.045925378799438,0.017925817519426,0.171626135706902) * FEATURE2_texOff(vec2(-1,1));
res += mat4(0.023577589541674,-0.293609887361526,0.073578789830208,0.067416988313198,-0.111308820545673,-0.103283293545246,0.142860159277916,0.139901429414749,-0.106532499194145,-0.157901078462601,-0.102214075624943,-0.202531442046165,0.006745726335794,-0.045044410973787,-0.344034641981125,-0.082044824957848) * FEATURE2_texOff(vec2(0,-1));
res += mat4(0.716807484626770,-1.002151131629944,0.201177641749382,-0.178314015269279,0.269352704286575,-0.147912979125977,-0.030771804973483,-0.056401971727610,-0.067358650267124,0.212878718972206,0.528020501136780,-0.055637512356043,-0.462026238441467,0.384660542011261,-0.121709503233433,0.101057276129723) * FEATURE2_texOff(vec2(0,0));
res += mat4(-1.102996468544006,0.153925850987434,-0.097518362104893,-0.261852264404297,0.314966350793839,0.150225728750229,-0.008445743471384,-0.346206277608871,0.282902777194977,-0.248496055603027,0.196119681000710,-0.180935472249985,0.531023025512695,0.136629208922386,0.217021301388741,-0.287891685962677) * FEATURE2_texOff(vec2(0,1));
res += mat4(-0.082633599638939,0.121503069996834,0.114532425999641,-0.124775208532810,0.018805203959346,0.041949253529310,0.001920085982420,-0.087701611220837,0.039901580661535,0.106626965105534,0.014105577953160,-0.193226456642151,-0.000261514389422,0.023639917373657,0.219239309430122,0.200146540999413) * FEATURE2_texOff(vec2(1,-1));
res += mat4(-0.127149790525436,0.095869906246662,-0.373642593622208,1.015135169029236,-0.204889565706253,-0.298985034227371,0.263391196727753,-0.226674586534500,-0.156869873404503,0.102644972503185,0.176114261150360,0.195850968360901,-0.247074455022812,0.243447557091713,0.286504089832306,-0.390939235687256) * FEATURE2_texOff(vec2(1,0));
res += mat4(0.228978544473648,0.218748033046722,0.230717256665230,-0.141886278986931,0.039852719753981,0.158620506525040,-0.138500586152077,0.067907705903053,0.231455266475677,-0.034691207110882,-0.080357857048512,-0.058688126504421,0.160908386111259,0.032701335847378,0.042562101036310,-0.035782303661108) * FEATURE2_texOff(vec2(1,1));
res += mat4(-0.399924725294113,0.790289282798767,-0.227895453572273,0.036112200468779,-0.099476836621761,0.191839143633842,-0.154584214091301,-0.233677491545677,0.024256190285087,0.122132554650307,0.274013102054596,-0.018880479037762,0.131400242447853,-0.061963118612766,0.453774988651276,0.188625738024712) * FEATURE3_texOff(vec2(-1,-1));
res += mat4(-0.177027791738510,1.528488516807556,-0.198687642812729,-0.082235157489777,-0.086289271712303,-0.074974000453949,-0.096756905317307,-0.135556042194366,0.107763320207596,0.061940249055624,-0.116712711751461,0.128163412213326,-0.308376997709274,0.043903652578592,0.051236633211374,-0.165313422679901) * FEATURE3_texOff(vec2(-1,0));
res += mat4(0.799003601074219,-0.801316261291504,-0.153677120804787,-0.079177014529705,0.301790118217468,0.295269906520844,-0.054747782647610,-0.406558990478516,0.045319352298975,0.044323608279228,0.023687127977610,-0.005848465021700,0.113905668258667,0.036613851785660,-0.036220643669367,0.101315900683403) * FEATURE3_texOff(vec2(-1,1));
res += mat4(-0.060001377016306,0.108418986201286,-0.046949766576290,1.100295782089233,0.132510066032410,-0.063148684799671,0.442799866199493,-0.247147947549820,0.134626567363739,-0.096593089401722,-0.011015825904906,-0.143242672085762,-0.021694514900446,0.122179247438908,-0.237657874822617,-0.083604112267494) * FEATURE3_texOff(vec2(0,-1));
res += mat4(-0.054380882531404,1.363386750221252,0.617911636829376,-0.344712734222412,-0.162070348858833,-0.101196981966496,0.544178068637848,-0.435044288635254,-0.303400516510010,-0.071468539535999,-0.227080404758453,0.254961997270584,0.064934283494949,0.362704724073410,-0.024485247209668,0.383839428424835) * FEATURE3_texOff(vec2(0,0));
res += mat4(0.124752461910248,-0.053598035126925,0.144738972187042,0.357550054788589,0.529189586639404,0.072540812194347,-0.277627259492874,-0.083756782114506,-0.006394860800356,-0.035529777407646,0.056227721273899,-0.014527974650264,-0.316668123006821,-0.356640309095383,-0.018141422420740,0.160849586129189) * FEATURE3_texOff(vec2(0,1));
res += mat4(-0.038222048431635,-0.614679634571075,-0.440704524517059,0.723932147026062,0.037410605698824,0.152820363640785,-0.161076292395592,-0.099400483071804,0.099201910197735,-0.204641744494438,-1.381855964660645,0.040092155337334,-0.047194458544254,-0.022280335426331,0.002565928967670,-0.000107933032268) * FEATURE3_texOff(vec2(1,-1));
res += mat4(-0.099298797547817,-0.420194447040558,0.414084076881409,1.546429634094238,-0.182538211345673,0.283302634954453,0.286849319934845,0.408999323844910,-0.275569260120392,-0.083662666380405,-0.356374800205231,0.263426274061203,0.095251820981503,-0.122616268694401,-0.195301085710526,0.159198448061943) * FEATURE3_texOff(vec2(1,0));
res += mat4(-0.217961341142654,-0.263646095991135,-0.223290100693703,0.516898334026337,-0.063548579812050,0.226234927773476,-0.091538920998573,0.380549281835556,-0.075503379106522,0.147316053509712,-0.176420345902443,-0.007736994419247,0.075893506407738,-0.346809238195419,0.085054248571396,-0.000340209080605) * FEATURE3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.060977183282375,-0.006842598319054,-0.003168559400365,-0.040526092052460) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 3.200 * > OUTPUT.h LUMA.h 3.200 * > *
//!COMPONENTS 4
//!BIND FEATURE1
//!BIND FEATURE2
//!BIND FEATURE3
//!SAVE MODEL2
//!DESC [AiUpscale_Fast_4x_LineArt_RT] mapping 1_2

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(-0.444586336612701,-0.021118203178048,0.004584205336869,-0.019512690603733);
res += mat4(0.081833846867085,0.035738948732615,-0.089589901268482,0.111219704151154,0.294898152351379,-0.143192276358604,-0.143942281603813,0.263412177562714,-0.019297149032354,0.059078980237246,-0.065330080688000,0.057513102889061,0.070348769426346,-0.110651232302189,0.363291740417480,-0.307212531566620) * FEATURE1_texOff(vec2(-1,-1));
res += mat4(0.336594492197037,-0.203178226947784,0.074274420738220,0.003976411651820,0.268101245164871,0.126618579030037,0.010851092636585,0.125234588980675,-0.025943268090487,-0.057026538997889,-0.221115723252296,0.110590636730194,-0.148479327559471,-0.334850877523422,0.177313402295113,0.076365932822227) * FEATURE1_texOff(vec2(-1,0));
res += mat4(-0.243850171566010,-0.116403780877590,-0.135621756315231,-0.171300694346428,-0.065629586577415,0.181895017623901,-0.014247240498662,-0.099608436226845,0.249936804175377,0.016252372413874,0.008358017541468,-0.048284634947777,0.152379691600800,-0.226228207349777,-0.072102069854736,0.040562380105257) * FEATURE1_texOff(vec2(-1,1));
res += mat4(0.208286404609680,-0.003446392249316,0.114765159785748,0.083096362650394,0.203690156340599,0.254228472709656,-0.594270408153534,-0.253400593996048,0.009959761053324,0.135956317186356,0.332543343305588,0.121194191277027,-0.133831575512886,-0.229324012994766,-0.195530116558075,-0.153879493474960) * FEATURE1_texOff(vec2(0,-1));
res += mat4(0.508734405040741,0.769192159175873,0.201713472604752,0.397236853837967,-0.419804513454437,-0.660199880599976,0.495248973369598,-0.277162015438080,0.186345919966698,-0.117885708808899,-0.191977456212044,-0.248342677950859,-0.150524765253067,-0.207638010382652,-0.044226359575987,0.250827252864838) * FEATURE1_texOff(vec2(0,0));
res += mat4(0.015712613239884,-0.352288067340851,-0.037827055901289,-0.141519322991371,0.003671240294352,0.548423349857330,0.034440118819475,0.024149771779776,-0.082208469510078,-0.012492857873440,0.398755729198456,-0.156263634562492,-0.073028713464737,-0.019726552069187,-0.006795608904213,-0.145948424935341) * FEATURE1_texOff(vec2(0,1));
res += mat4(0.111951261758804,-0.046063449233770,-0.239823609590530,-0.267277419567108,-0.003713039215654,-0.025534812361002,0.012754555791616,-0.163363814353943,-0.262340903282166,-0.150497019290924,-0.298486799001694,-0.124597512185574,0.104086548089981,-0.225270137190819,-0.142930343747139,-0.110070541501045) * FEATURE1_texOff(vec2(1,-1));
res += mat4(-0.214912608265877,-0.133563131093979,0.088864043354988,-0.255442410707474,0.260003387928009,0.127616688609123,-0.167397767305374,0.424976766109467,-0.103494860231876,-0.079071238636971,-0.036129936575890,-0.054958429187536,-0.026574775576591,0.068967327475548,0.005215337499976,0.010202825069427) * FEATURE1_texOff(vec2(1,0));
res += mat4(-0.034080810844898,0.041863124817610,0.015843067318201,0.110252045094967,-0.156828045845032,-0.037387594580650,0.176489025354385,0.327727377414703,0.043109960854053,0.045203052461147,0.026005735620856,0.325147181749344,0.099069893360138,0.034257560968399,0.064529694616795,-0.025607528164983) * FEATURE1_texOff(vec2(1,1));
res += mat4(0.099849171936512,0.074714161455631,0.000579465122428,0.448872745037079,0.199785187840462,-0.175286680459976,0.388782232999802,-0.082849122583866,0.007295805960894,0.129310145974159,0.001202281913720,-0.111529685556889,0.016499983146787,-0.242423579096794,-0.057099528610706,-0.125140532851219) * FEATURE2_texOff(vec2(-1,-1));
res += mat4(0.066224500536919,0.325085490942001,-0.023793561384082,0.146433323621750,0.250522404909134,-0.111650556325912,-0.009204035624862,-0.209904909133911,-0.060794632881880,0.187245249748230,0.098934248089790,0.054356150329113,-0.130655035376549,-0.181740731000900,-0.123387031257153,0.052378930151463) * FEATURE2_texOff(vec2(-1,0));
res += mat4(-0.166127100586891,0.028143441304564,-0.001741257030517,-0.208353877067566,0.075662292540073,-0.130791544914246,-0.210754349827766,-0.022088028490543,0.028516003862023,-0.115891426801682,-0.075563751161098,-0.080154463648796,0.007381750736386,-0.019335960969329,0.051791016012430,-0.128048121929169) * FEATURE2_texOff(vec2(-1,1));
res += mat4(0.219067156314850,0.109760612249374,-0.176551863551140,-0.071898102760315,0.184414088726044,-0.117571413516998,-0.201179042458534,-0.113748610019684,0.187411770224571,0.106547169387341,0.440743029117584,-0.412157416343689,0.189783275127411,0.005280296318233,0.498602300882339,-0.059856675565243) * FEATURE2_texOff(vec2(0,-1));
res += mat4(-0.326160907745361,-0.450800150632858,-0.079903617501259,-0.326697081327438,0.142114892601967,-0.026238230988383,0.319378495216370,0.084843538701534,0.071883007884026,-0.058323044329882,0.159631937742233,-0.155657216906548,0.825401484966278,0.545016109943390,-0.288566827774048,0.177246004343033) * FEATURE2_texOff(vec2(0,0));
res += mat4(0.207848295569420,-0.274939805269241,0.048311620950699,-0.277826607227325,-0.082919105887413,-0.208866223692894,0.091139070689678,-0.194407895207405,-0.204245746135712,0.015006585046649,0.054930329322815,-0.008529487065971,-0.112823985517025,0.029661234468222,0.027750143781304,0.117362268269062) * FEATURE2_texOff(vec2(0,1));
res += mat4(-0.073286525905132,-0.152282536029816,-0.213489800691605,-0.281845033168793,-0.151649236679077,0.295920848846436,0.083918549120426,0.202338531613350,0.015907714143395,0.339553982019424,-0.004747301805764,0.457651734352112,-0.307429224252701,0.039216529577971,0.403925776481628,0.142771393060684) * FEATURE2_texOff(vec2(1,-1));
res += mat4(0.151815891265869,-0.082622580230236,0.148422181606293,0.001549554057419,-0.139389038085938,0.231600075960159,0.025112872943282,0.249097704887390,0.225872680544853,0.184878975152969,-0.029726903885603,0.293205559253693,0.229459583759308,0.068063780665398,-0.277431696653366,-0.145534053444862) * FEATURE2_texOff(vec2(1,0));
res += mat4(0.006129484158009,-0.013123268261552,-0.002611438976601,0.281099975109100,-0.058094453066587,-0.068054206669331,-0.324142873287201,0.109935350716114,0.021519247442484,-0.157556653022766,-0.026416072621942,-0.009091730229557,-0.023805575445294,0.034591652452946,-0.068236038088799,0.003559745149687) * FEATURE2_texOff(vec2(1,1));
res += mat4(0.256823450326920,-0.091738268733025,-0.056835431605577,-0.024758201092482,-0.083749555051327,-0.001241008052602,0.021457463502884,-0.217200100421906,-0.013435858301818,-0.014819391071796,0.105550751090050,-0.026912244036794,0.273767322301865,-0.081935629248619,0.647462725639343,-0.560461580753326) * FEATURE3_texOff(vec2(-1,-1));
res += mat4(0.035969153046608,-0.315715819597244,0.235792145133018,0.351616472005844,0.134316533803940,-0.183368384838104,-0.115267679095268,0.159383222460747,0.120293393731117,-0.254169464111328,0.080555722117424,0.181845784187317,0.481247186660767,-0.359182596206665,-0.243479609489441,0.024714890867472) * FEATURE3_texOff(vec2(-1,0));
res += mat4(-0.051736272871494,-0.072938628494740,-0.059534627944231,0.283296406269073,0.263669013977051,0.073090374469757,-0.037473998963833,0.090843148529530,-0.066858053207397,-0.182126641273499,-0.112902320921421,0.046780519187450,-0.366994917392731,-0.047978933900595,-0.734830915927887,0.220168426632881) * FEATURE3_texOff(vec2(-1,1));
res += mat4(0.135798215866089,-0.008062206208706,0.062927484512329,-0.258602142333984,-0.044528629630804,-0.074291490018368,-0.335010081529617,0.016857016831636,0.214331924915314,0.034042805433273,0.210132166743279,-0.120920300483704,0.639924287796021,0.323105841875076,0.712362349033356,0.527465045452118) * FEATURE3_texOff(vec2(0,-1));
res += mat4(0.326675534248352,0.551721394062042,-0.161537528038025,-0.014107747934759,-0.127241179347038,-0.070537276566029,0.787203669548035,0.083757929503918,0.316269874572754,0.529190063476563,-0.216497510671616,0.207784444093704,2.060655355453491,0.559189319610596,-1.109026908874512,0.824689209461212) * FEATURE3_texOff(vec2(0,0));
res += mat4(-0.332199007272720,-0.600971639156342,0.062298785895109,-0.484732031822205,0.304096668958664,0.199328273534775,0.085114933550358,0.071857124567032,-0.125989630818367,0.038562461733818,-0.147209420800209,0.073834188282490,-0.929744660854340,-0.318554103374481,0.135516107082367,-0.165915623307228) * FEATURE3_texOff(vec2(0,1));
res += mat4(0.113317884504795,0.272472977638245,0.067146219313145,0.253911674022675,-0.095694184303284,-0.015524974092841,0.074401363730431,0.078504391014576,-0.050529196858406,0.000636080745608,0.204357489943504,0.167061954736710,-0.483961194753647,0.415807247161865,0.899310290813446,0.264389991760254) * FEATURE3_texOff(vec2(1,-1));
res += mat4(0.033647023141384,0.060637865215540,-0.024978904053569,0.141550838947296,0.271507978439331,-0.045522797852755,-0.317990928888321,-0.118335463106632,0.116199873387814,-0.079663649201393,0.050346702337265,-0.411996096372604,-0.541200995445251,-0.151321306824684,-0.210351094603539,-0.418545037508011) * FEATURE3_texOff(vec2(1,0));
res += mat4(-0.174968689680099,-0.183819398283958,-0.133770346641541,-0.039863083511591,0.002040582476184,0.372681885957718,0.114991888403893,0.078305445611477,-0.349514216184616,-0.268380373716354,-0.068163864314556,-0.161613613367081,-0.624470591545105,-0.244563743472099,-0.479866683483124,-0.380809038877487) * FEATURE3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.049764394760132,0.757380723953247,0.122853443026543,-0.518689811229706) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(0.237264290452003,0.038795575499535,0.053795386105776,-0.050024513155222);
res += mat4(0.077392123639584,0.142068400979042,0.000438506627688,0.142359822988510,-0.127735584974289,0.062944769859314,-0.067351475358009,0.454990178346634,0.098825454711914,-0.089659869670868,-0.309865832328796,-0.240367010235786,0.083950035274029,0.100149691104889,-0.122559010982513,0.048320729285479) * FEATURE1_texOff(vec2(-1,-1));
res += mat4(-0.097768358886242,-0.086389862000942,0.171154111623764,-0.101101249456406,-0.467464089393616,0.175457254052162,-0.160265490412712,0.256499320268631,0.159472018480301,-0.355048745870590,0.079348154366016,-0.369268029928207,0.055199224501848,-0.164121419191360,-0.173727899789810,0.420770019292831) * FEATURE1_texOff(vec2(-1,0));
res += mat4(0.090670131146908,0.008086413145065,0.000843092624564,0.132394388318062,0.290009617805481,0.041214462369680,-0.206571832299232,-0.116332553327084,-0.048034947365522,-0.184817269444466,0.399101078510284,-0.274080663919449,-0.003889609128237,0.134508833289146,0.061847031116486,0.128039807081223) * FEATURE1_texOff(vec2(-1,1));
res += mat4(-0.095523931086063,-0.265600830316544,0.216564223170280,-0.141948863863945,0.346272230148315,-0.276742964982986,0.252592742443085,0.314219892024994,0.151304885745049,-0.378085613250732,0.243672877550125,0.193059578537941,-0.181582316756248,-0.192466348409653,0.265663295984268,-0.466437816619873) * FEATURE1_texOff(vec2(0,-1));
res += mat4(0.014457383193076,0.517072319984436,-0.155018389225006,0.099836498498917,0.008326241746545,0.118389315903187,0.056121002882719,-0.162446260452271,0.227274551987648,0.091305084526539,0.015727870166302,-0.098951049149036,0.259754955768585,0.263751029968262,0.191313549876213,0.193551570177078) * FEATURE1_texOff(vec2(0,0));
res += mat4(0.372555434703827,0.132440268993378,-0.348811984062195,-0.177216738462448,-0.125135898590088,-0.111986614763737,-0.089498065412045,-0.030239967629313,-0.284103482961655,0.371892035007477,0.040987569838762,0.098548017442226,-0.086243011057377,-0.141863927245140,0.141618847846985,0.271718263626099) * FEATURE1_texOff(vec2(0,1));
res += mat4(0.212109252810478,-0.089739032089710,0.068665973842144,-0.148935705423355,-0.172237113118172,0.052630435675383,-0.271711021661758,-0.461174666881561,0.252442479133606,-0.096962854266167,0.125543251633644,-0.123223759233952,-0.007117448374629,0.180912837386131,-0.039288431406021,0.270669579505920) * FEATURE1_texOff(vec2(1,-1));
res += mat4(-0.108136035501957,-0.079581312835217,0.019722253084183,0.133050158619881,0.126080125570297,0.096860058605671,0.011354097165167,-0.166276246309280,-0.143693491816521,-0.041251812130213,0.123445712029934,-0.298397332429886,-0.224148154258728,0.165540963411331,-0.354574710130692,-0.770661234855652) * FEATURE1_texOff(vec2(1,0));
res += mat4(-0.084687612950802,-0.043298795819283,0.089391365647316,-0.042662024497986,0.110997267067432,-0.142267808318138,0.097387611865997,0.243664085865021,-0.065451607108116,-0.125873118638992,-0.073106862604618,0.129392966628075,0.111519776284695,0.214446842670441,0.059438824653625,-0.302967369556427) * FEATURE1_texOff(vec2(1,1));
res += mat4(0.075815804302692,0.000133176872623,0.030042760074139,-0.059436388313770,-0.075271792709827,0.057058177888393,0.143189713358879,0.349123835563660,-0.161031857132912,-0.199259385466576,0.268358916044235,-0.047437049448490,-0.198598220944405,0.103369764983654,-0.058845963329077,0.147865548729897) * FEATURE2_texOff(vec2(-1,-1));
res += mat4(-0.233314663171768,0.368705540895462,-0.657100379467010,0.388393789529800,-0.269808650016785,-0.312385439872742,0.059975277632475,0.272889167070389,-0.192810371518135,-0.070863746106625,0.459295570850372,-0.322644084692001,0.007941866293550,-0.269574761390686,0.112790167331696,-0.288699090480804) * FEATURE2_texOff(vec2(-1,0));
res += mat4(-0.099248364567757,-0.197242990136147,0.144012540578842,-0.618385434150696,0.119313687086105,0.111781962215900,0.255253285169601,-0.152676418423653,0.248927459120750,0.058867797255516,-0.000602895801421,0.040502142161131,-0.076349943876266,0.073246687650681,-0.013378927484155,0.008983929641545) * FEATURE2_texOff(vec2(-1,1));
res += mat4(-0.364000558853149,0.106957666575909,-0.093492217361927,-0.405997604131699,-0.113388389348984,0.129923880100250,-0.099858485162258,0.209647148847580,0.181949183344841,-0.099564708769321,-0.043615166097879,0.416811823844910,0.477650433778763,-0.129707589745522,0.146449208259583,0.177412629127502) * FEATURE2_texOff(vec2(0,-1));
res += mat4(1.083375215530396,-0.353409856557846,0.715633034706116,0.197115287184715,-0.038393989205360,-0.064461484551430,-0.315693110227585,-0.064041167497635,0.179143056273460,-0.202632993459702,-0.006699479650706,-0.380595177412033,-0.529370427131653,0.368725836277008,0.170321971178055,0.375356882810593) * FEATURE2_texOff(vec2(0,0));
res += mat4(-0.423888325691223,-0.423688411712646,-0.021061029285192,0.367188662290573,0.114447787404060,0.547063052654266,-0.149471580982208,-0.153687804937363,0.412574708461761,0.181879028677940,-0.118353471159935,-0.566572606563568,0.150884672999382,0.187977537512779,-0.094342350959778,-0.470993250608444) * FEATURE2_texOff(vec2(0,1));
res += mat4(-0.123885028064251,-0.160136610269547,-0.010802104137838,0.182911798357964,0.039817016571760,-0.014970523305237,-0.170037508010864,-0.194109439849854,0.110891588032246,-0.095813244581223,-0.083316117525101,0.055048678070307,0.057047337293625,-0.138335958123207,-0.097201980650425,0.023460820317268) * FEATURE2_texOff(vec2(1,-1));
res += mat4(-0.294388622045517,0.196433946490288,-0.007361421361566,-0.150116547942162,0.255994111299515,-0.174434706568718,0.419497549533844,0.303475677967072,0.181838378310204,0.168547973036766,-0.078913092613220,0.019001409411430,0.179575860500336,0.093394070863724,-0.098410576581955,0.217550262808800) * FEATURE2_texOff(vec2(1,0));
res += mat4(0.145135506987572,-0.049972515553236,0.139263585209846,0.139117583632469,-0.220253199338913,0.275052338838577,-0.288847059011459,-0.181480303406715,-0.013858094811440,0.114137686789036,-0.384902030229568,0.253640711307526,-0.298252224922180,-0.047836251556873,0.074785254895687,-0.056165628135204) * FEATURE2_texOff(vec2(1,1));
res += mat4(-0.540951728820801,-0.113922990858555,0.403453648090363,1.013498306274414,0.006181965116411,0.033541910350323,-0.070132203400135,0.177705138921738,0.030813876539469,0.203349396586418,-0.687235891819000,0.037846516817808,-0.059038404375315,0.047712232917547,-0.141854748129845,-0.238001108169556) * FEATURE3_texOff(vec2(-1,-1));
res += mat4(-0.659399628639221,0.170352593064308,-1.355119466781616,-1.052124500274658,-0.208964347839355,-0.153556033968925,-0.190560445189476,0.130952373147011,-0.079610444605350,0.097973227500916,-0.548308014869690,-0.097073875367641,-0.004442410077900,0.088738545775414,-0.355517446994781,0.008667930029333) * FEATURE3_texOff(vec2(-1,0));
res += mat4(0.701972544193268,0.298706829547882,0.203534945845604,-0.812002182006836,-0.181074604392052,0.100684285163879,-0.010701540857553,0.142978265881538,-0.020695714280009,0.081833489239216,-0.266000717878342,0.024202056229115,0.151137456297874,0.097832620143890,0.099028289318085,-0.182258442044258) * FEATURE3_texOff(vec2(-1,1));
res += mat4(-0.439991474151611,-0.133482635021210,0.175269678235054,-0.802676081657410,0.041021078824997,-0.140435636043549,0.088552296161652,0.208306774497032,-0.106407471001148,0.207851558923721,0.067010752856731,-0.344503730535507,-0.054141212254763,0.088079348206520,0.026196481660008,-0.176613047719002) * FEATURE3_texOff(vec2(0,-1));
res += mat4(-0.112470835447311,0.192748382687569,-0.377962082624435,0.838411927223206,0.020412385463715,0.372064083814621,-0.345712363719940,-0.617134511470795,-0.312871128320694,0.019288353621960,-0.228750541806221,0.128879874944687,0.212586954236031,0.096545413136482,0.242693930864334,0.116145476698875) * FEATURE3_texOff(vec2(0,0));
res += mat4(0.280321151018143,0.063790768384933,-0.354575663805008,0.482800930738449,-0.235822662711143,0.416486144065857,-0.138299196958542,0.122623898088932,0.019786927849054,0.067724116146564,-0.165323033928871,0.072590500116348,0.097695775330067,0.038121495395899,0.203240498900414,0.077424116432667) * FEATURE3_texOff(vec2(0,1));
res += mat4(0.145220384001732,-0.022956157103181,-0.045786716043949,-0.315054804086685,0.129532277584076,0.092972621321678,-0.070759639143944,-0.080426573753357,-0.206020325422287,-0.342364728450775,0.341739803552628,-0.591231048107147,-0.105281233787537,-0.057612001895905,0.069921836256981,0.058543238788843) * FEATURE3_texOff(vec2(1,-1));
res += mat4(-0.219366759061813,0.519672036170959,-0.656428039073944,-0.012411794625223,-0.097187615931034,0.111765868961811,-0.168598175048828,-0.053313229233027,0.066091969609261,-0.243988350033760,-0.076429173350334,-0.367974907159805,0.065791986882687,-0.004388954024762,-0.141219198703766,-0.105022221803665) * FEATURE3_texOff(vec2(1,0));
res += mat4(-0.053404219448566,0.197963863611221,-0.080976895987988,0.164915144443512,-0.344904571771622,0.065044462680817,-0.093710236251354,0.107882060110569,-0.039303388446569,-0.105096250772476,0.072306714951992,0.255830079317093,0.163120314478874,0.095729060471058,0.106883667409420,-0.202336445450783) * FEATURE3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.719014763832092,0.526016533374786,0.272236257791519,-0.142480209469795) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 3.200 * > OUTPUT.h LUMA.h 3.200 * > *
//!COMPONENTS 4
//!BIND FEATURE1
//!BIND FEATURE2
//!BIND FEATURE3
//!SAVE MODEL3
//!DESC [AiUpscale_Fast_4x_LineArt_RT] mapping 1_3

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(-0.052567366510630,0.010239592753351,-0.106580279767513,-0.092140421271324);
res += mat4(-0.011182990856469,0.017703892663121,0.165908128023148,-0.167569488286972,-0.147896662354469,0.127471730113029,0.111221209168434,-0.075876504182816,0.035618666559458,-0.106180354952812,-0.147975534200668,0.037686228752136,-0.025335699319839,-0.120975323021412,1.164641737937927,-0.227266237139702) * FEATURE1_texOff(vec2(-1,-1));
res += mat4(-0.445058524608612,-0.219472333788872,0.097560562193394,0.015717208385468,0.240806654095650,-0.218519955873489,-0.153413310647011,0.190998360514641,-0.194823682308197,0.385664045810699,0.024359902366996,-0.040681619197130,-0.316023230552673,-0.532838702201843,0.062743589282036,0.048562698066235) * FEATURE1_texOff(vec2(-1,0));
res += mat4(-0.079650245606899,-0.079925164580345,0.097123272716999,0.121858477592468,-0.196755915880203,-0.663792490959167,-0.163610488176346,-0.062619902193546,-0.063312172889709,0.226183205842972,-0.049800243228674,-0.263295501470566,0.068743959069252,-0.023294458165765,0.026689447462559,-0.074444837868214) * FEATURE1_texOff(vec2(-1,1));
res += mat4(-0.169135555624962,0.137653023004532,-0.034903828054667,0.000545201415662,0.154598191380501,-0.084456443786621,-0.068117789924145,-0.212048813700676,0.085756540298462,-0.027942361310124,0.058539055287838,0.005643970333040,-0.297572195529938,0.399843513965607,0.196829408407211,-0.374450176954269) * FEATURE1_texOff(vec2(0,-1));
res += mat4(0.419973164796829,-0.267582774162292,-0.447410821914673,-0.424380719661713,-0.311732798814774,0.041395314037800,0.671255350112915,0.299343198537827,0.098718538880348,-0.200296342372894,-0.019088109955192,0.008683798834682,-0.131922885775566,-0.253323435783386,0.076601050794125,0.205724686384201) * FEATURE1_texOff(vec2(0,0));
res += mat4(0.116949774324894,0.275207728147507,0.141206309199333,0.212018355727196,0.153418630361557,-0.190814435482025,0.145320266485214,-0.223135843873024,-0.180217698216438,0.428181588649750,0.121434412896633,0.060914017260075,-0.058413054794073,0.077146135270596,0.048323571681976,-0.065782956779003) * FEATURE1_texOff(vec2(0,1));
res += mat4(0.071208752691746,0.015490721911192,-0.054677486419678,0.023997912183404,-0.072293892502785,0.009023157879710,0.147113487124443,-0.199255794286728,-0.087204851210117,0.064682982861996,0.045019317418337,-0.135429605841637,-0.011118103750050,0.068113118410110,0.019871905446053,-0.112069994211197) * FEATURE1_texOff(vec2(1,-1));
res += mat4(0.100642837584019,0.155867829918861,0.010778633877635,0.161247536540031,0.317626804113388,0.126792535185814,-0.250316351652145,-0.048788551241159,0.163080260157585,-0.585085391998291,0.049916658550501,0.219423130154610,0.062872655689716,0.009999264962971,-0.008841246366501,-0.014419060200453) * FEATURE1_texOff(vec2(1,0));
res += mat4(0.101412124931812,-0.039870932698250,-0.032396532595158,0.091435424983501,0.165393382310867,0.484632313251495,-0.014074556529522,0.149140074849129,0.144043162465096,0.084834396839142,-0.081516236066818,0.140771657228470,-0.035651814192533,0.103507846593857,-0.032875429838896,0.048504266887903) * FEATURE1_texOff(vec2(1,1));
res += mat4(-0.052073583006859,0.147955149412155,0.033605959266424,0.133527338504791,-0.237564697861671,0.086857430636883,-0.089425519108772,0.338256925344467,-0.024641957134008,0.370032072067261,-0.049586061388254,-0.325198441743851,-0.122998312115669,-0.139151766896248,-0.064884953200817,-0.161403283476830) * FEATURE2_texOff(vec2(-1,-1));
res += mat4(0.869954109191895,-0.588238775730133,-0.237984806299210,-0.204461202025414,-0.050603982061148,-0.125230833888054,0.328673779964447,0.477123081684113,0.254645586013794,-0.344767391681671,-0.193869367241859,-0.092119969427586,-0.236409321427345,0.103789888322353,-0.163140863180161,0.180881664156914) * FEATURE2_texOff(vec2(-1,0));
res += mat4(0.057762127369642,0.119407169520855,0.192378103733063,-0.098485112190247,-0.020138291642070,-0.010327707044780,-0.142311692237854,0.133325561881065,-0.074109211564064,0.198619499802589,0.014860129915178,-0.099082209169865,-0.131817251443863,0.248490765690804,0.026568075641990,0.146012082695961) * FEATURE2_texOff(vec2(-1,1));
res += mat4(0.031197944656014,0.149638995528221,-0.196058288216591,-0.086740717291832,-0.014135482721031,0.018636813387275,0.004955993965268,0.786328673362732,0.116147749125957,0.103631392121315,-0.188961938023567,0.265612423419952,0.141667932271957,-0.123724900186062,-0.382366806268692,-0.010108002461493) * FEATURE2_texOff(vec2(0,-1));
res += mat4(-0.263097614049911,-0.119429878890514,0.462358891963959,0.362275242805481,-0.467303544282913,-0.004349512979388,-0.172689020633698,-0.002528569893911,-0.248062342405319,0.042455852031708,0.080825887620449,0.055269543081522,0.149098247289658,-0.253618657588959,0.086400344967842,-0.018573366105556) * FEATURE2_texOff(vec2(0,0));
res += mat4(-0.298967480659485,-0.173981189727783,0.148355096578598,-0.365027159452438,-0.155848428606987,0.453089296817780,-0.393429309129715,-0.349013388156891,-0.053491093218327,-0.135888010263443,-0.020282605662942,0.094864882528782,0.112466573715210,-0.080838702619076,-0.094184286892414,0.164555549621582) * FEATURE2_texOff(vec2(0,1));
res += mat4(-0.075074747204781,-0.003941744100302,0.123342961072922,-0.050049435347319,0.451220929622650,-0.211653530597687,0.051620144397020,0.227380916476250,0.147908687591553,0.040862094610929,0.155839577317238,0.072161704301834,0.011352185159922,0.205239027738571,-0.228851348161697,-0.085927456617355) * FEATURE2_texOff(vec2(1,-1));
res += mat4(0.096083231270313,0.211491674184799,-0.118657603859901,-0.039851799607277,0.022542100399733,0.052408520132303,-0.072021208703518,0.095940746366978,0.096607625484467,0.062045264989138,-0.145358070731163,-0.029499135911465,0.013918769545853,-0.102918811142445,-0.333039969205856,0.281462550163269) * FEATURE2_texOff(vec2(1,0));
res += mat4(0.001789301284589,-0.011299212463200,0.055957123637199,-0.195522382855415,0.111178264021873,-0.180229648947716,-0.276992857456207,0.305874943733215,0.035440910607576,-0.031575061380863,0.005999859422445,-0.174177244305611,0.033189006149769,-0.055638935416937,-0.112001106142998,-0.113758772611618) * FEATURE2_texOff(vec2(1,1));
res += mat4(0.038291573524475,-0.169925034046173,0.140287652611732,-0.156237199902534,0.094549380242825,-0.075508914887905,-0.090105220675468,-0.081883721053600,-0.032594356685877,0.185070484876633,-0.011255699209869,-0.077992141246796,-0.182451441884041,-0.211032465100288,0.246503904461861,0.392593592405319) * FEATURE3_texOff(vec2(-1,-1));
res += mat4(-0.477559566497803,0.287977635860443,0.101892225444317,0.131207138299942,-0.411688834428787,0.107956551015377,0.218451648950577,0.096901677548885,-0.480948895215988,0.246553882956505,0.165691584348679,0.045408383011818,-0.808547914028168,0.076051644980907,0.401636034250259,1.558870553970337) * FEATURE3_texOff(vec2(-1,0));
res += mat4(-0.153393149375916,0.568837165832520,0.121851414442062,0.031879436224699,-0.057818401604891,-0.073749199509621,-0.371096134185791,-0.347165971994400,-0.209438905119896,0.108843795955181,0.072788387537003,0.318088650703430,-0.124638356268406,0.551941990852356,-0.113977357745171,0.652904570102692) * FEATURE3_texOff(vec2(-1,1));
res += mat4(0.140715166926384,-0.203716978430748,0.239415556192398,0.206167042255402,-0.083011366426945,0.100523300468922,-0.046457190066576,-0.167514637112617,0.163412362337112,-0.180397510528564,-0.120451986789703,-0.105995446443558,0.257028579711914,-0.358127504587173,0.614479064941406,-0.098753236234188) * FEATURE3_texOff(vec2(0,-1));
res += mat4(0.255960077047348,-0.334645599126816,-0.489939600229263,-0.102658480405807,0.083354189991951,0.079392224550247,-0.281630456447601,-0.088715299963951,0.404090702533722,-0.420587092638016,-0.603166699409485,-0.292625933885574,1.059891343116760,-0.656280696392059,0.838979959487915,0.441321194171906) * FEATURE3_texOff(vec2(0,0));
res += mat4(-0.220639124512672,0.147461935877800,0.239024490118027,0.014127945527434,-0.676522254943848,-0.007007681299001,2.080608606338501,-0.338928103446960,0.190885528922081,0.357848852872849,0.107396103441715,0.354792475700378,-0.187473416328430,0.376916229724884,0.889846324920654,0.147137835621834) * FEATURE3_texOff(vec2(0,1));
res += mat4(-0.128056630492210,0.218563362956047,0.064368881285191,-0.069205060601234,-0.078614629805088,0.098370097577572,0.093726232647896,-0.156923577189445,-0.030199283733964,-0.178986772894859,0.306393146514893,0.023118373006582,-0.127238661050797,0.378685206174850,0.362573415040970,-0.354268044233322) * FEATURE3_texOff(vec2(1,-1));
res += mat4(-0.017762755975127,-0.011943876743317,-0.109230905771255,0.054288294166327,0.226197034120560,-0.084391579031944,0.208698913455009,0.087626948952675,0.195775166153908,-0.313440352678299,-0.131124168634415,0.103165209293365,0.195157602429390,0.043640177696943,-0.596542179584503,0.041993282735348) * FEATURE3_texOff(vec2(1,0));
res += mat4(0.106277212500572,-0.170607969164848,-0.129506558179855,-0.198764503002167,0.650237441062927,-0.038344964385033,0.101029910147190,-0.145980015397072,-0.064865738153458,0.031347673386335,0.199729204177856,0.020183958113194,0.064321950078011,-0.166173174977303,0.014498719945550,-0.835747539997101) * FEATURE3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.581175506114960,-0.312684357166290,0.207074195146561,0.662635505199432) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(0.049449138343334,-0.645208597183228,-0.021303610876203,0.052865661680698);
res += mat4(0.208825960755348,0.086143039166927,0.095770418643951,0.061252016574144,-0.113079078495502,0.115110404789448,-0.073734685778618,0.039733890444040,0.204547077417374,0.052538968622684,-0.180866450071335,-0.141791164875031,0.015659002587199,-0.084455184638500,0.087319374084473,-0.034195411950350) * FEATURE1_texOff(vec2(-1,-1));
res += mat4(0.129281193017960,0.140055537223816,0.214807286858559,0.010698813945055,0.243208035826683,-0.374458640813828,0.016683481633663,-0.208590596914291,-0.023804100230336,0.006886663381010,0.276546329259872,0.185355156660080,-0.031739369034767,0.283265680074692,-0.124853715300560,0.114376172423363) * FEATURE1_texOff(vec2(-1,0));
res += mat4(0.039249375462532,0.084685511887074,0.305777162313461,-0.021016469225287,0.013524989597499,0.240552634000778,0.186385884881020,0.057330630719662,0.185449421405792,-0.216438516974449,-0.107817672193050,-0.029205443337560,-0.079353079199791,-0.119771055877209,0.263601422309875,0.140032023191452) * FEATURE1_texOff(vec2(-1,1));
res += mat4(-0.445681661367416,0.305389046669006,0.116696685552597,-0.226832002401352,-0.178090065717697,0.038254112005234,0.056048858910799,-0.089144036173820,0.207486078143120,0.273829013109207,0.467862755060196,0.095678761601448,-0.137133643031120,-0.590950310230255,0.400212556123734,0.053763002157211) * FEATURE1_texOff(vec2(0,-1));
res += mat4(0.472237110137939,-0.233173474669456,0.102131061255932,-0.305338472127914,0.048858381807804,0.346432358026505,-0.095817364752293,0.708438098430634,-0.130692511796951,0.428691118955612,-0.357992917299271,-0.745583117008209,-0.291230291128159,0.022073144093156,0.059730380773544,0.373387604951859) * FEATURE1_texOff(vec2(0,0));
res += mat4(-0.088766813278198,0.169334739446640,0.105596296489239,0.085365667939186,0.054510794579983,-0.060122404247522,-0.082865767180920,-0.357464373111725,-0.182246625423431,-0.243368268013000,-0.047655079513788,-0.034188427031040,0.204008176922798,-0.148693993687630,0.020706366747618,0.115123227238655) * FEATURE1_texOff(vec2(0,1));
res += mat4(0.282422512769699,-0.129483401775360,-0.298041075468063,0.180615425109863,0.318403512239456,-0.038156162947416,0.263376623392105,-0.108823895454407,0.214282453060150,0.069763116538525,0.166238233447075,-0.064086817204952,0.082742139697075,0.426825165748596,-0.238026008009911,0.454155445098877) * FEATURE1_texOff(vec2(1,-1));
res += mat4(-0.208813875913620,-0.205316275358200,-0.052719008177519,0.190501376986504,-0.096694260835648,-0.224431946873665,-0.050060614943504,-0.050248570740223,-0.036096882075071,-0.120784640312195,-0.191733285784721,0.220860034227371,0.095340430736542,0.061985533684492,0.128374770283699,-2.064981937408447) * FEATURE1_texOff(vec2(1,0));
res += mat4(0.023132057860494,-0.112037032842636,-0.041351012885571,-0.036706067621708,-0.088859349489212,0.042785111814737,0.003900158219039,0.128873884677887,0.281533420085907,0.023911865428090,-0.006685585714877,0.062041945755482,-0.156743317842484,-0.121188901364803,-0.089499995112419,0.263390153646469) * FEATURE1_texOff(vec2(1,1));
res += mat4(-0.030570656061172,0.038025382906199,-0.175884753465652,-0.137987390160561,-0.055048719048500,-0.156241595745087,0.003488644026220,-0.074815705418587,0.056851685047150,0.221980050206184,-0.074287518858910,0.039837922900915,-0.198667228221893,0.115731060504913,0.074204251170158,-0.068569682538509) * FEATURE2_texOff(vec2(-1,-1));
res += mat4(0.186802744865417,-0.230575188994408,-0.152368590235710,-0.028229407966137,-0.478247284889221,0.318271994590759,0.025604233145714,-0.060650225728750,-0.121727742254734,0.002703204285353,0.003769842907786,0.078418940305710,0.033504229038954,0.004653400741518,0.049839429557323,-0.141303122043610) * FEATURE2_texOff(vec2(-1,0));
res += mat4(-0.027862941846251,0.020981615409255,-0.120511591434479,0.107826024293900,-0.061811961233616,-0.124771408736706,0.177244469523430,-0.009450563229620,-0.409421712160110,0.107647486031055,-0.051309276372194,0.090449839830399,-0.024909786880016,-0.053849410265684,-0.056919191032648,-0.207768514752388) * FEATURE2_texOff(vec2(-1,1));
res += mat4(0.164132758975029,-0.591858625411987,0.323696702718735,0.043147273361683,0.075876124203205,-0.392599821090698,0.174354180693626,-0.077022664248943,0.303524315357208,-0.245782271027565,0.230583369731903,-0.205912306904793,-0.397697806358337,0.467762321233749,-0.266022503376007,-0.051836807280779) * FEATURE2_texOff(vec2(0,-1));
res += mat4(0.023847872391343,0.029813695698977,0.137972503900528,0.487775325775146,0.029665136709809,0.126106604933739,-0.339495003223419,-0.259786814451218,0.258943796157837,-0.659154713153839,0.280389398336411,-0.015534380450845,0.212054878473282,0.026985874399543,-0.266274183988571,-0.255059927701950) * FEATURE2_texOff(vec2(0,0));
res += mat4(-0.008706881664693,-0.116194054484367,-0.467357516288757,-0.205846607685089,-0.097821243107319,0.139986142516136,0.224512785673141,0.237556457519531,-0.303251981735229,-0.036947194486856,-0.103423528373241,0.068567447364330,-0.321870058774948,0.141569256782532,-0.021483983844519,0.180467680096626) * FEATURE2_texOff(vec2(0,1));
res += mat4(-0.134297177195549,0.329785853624344,0.058711636811495,0.232459187507629,0.041339535266161,-0.077088363468647,-0.305816590785980,0.103001326322556,-0.011728023178875,-0.098029173910618,0.140964686870575,-0.095201194286346,-0.001178201287985,0.215059578418732,-0.284032255411148,-0.000825340743177) * FEATURE2_texOff(vec2(1,-1));
res += mat4(-0.119809389114380,-0.089442618191242,0.097206197679043,-0.380126833915710,-0.213093653321266,0.192885145545006,0.047662571072578,0.358972162008286,-0.134026437997818,0.005387213081121,-0.037918403744698,0.052373621612787,0.161128297448158,-0.048209175467491,-0.204582452774048,0.514025032520294) * FEATURE2_texOff(vec2(1,0));
res += mat4(0.075991839170456,-0.078438110649586,-0.190078541636467,-0.065522626042366,0.062381274998188,-0.242333874106407,0.001036997535266,0.057996340095997,-0.150678560137749,0.009553944692016,-0.208895772695541,-0.134326592087746,0.082054629921913,-0.145591259002686,-0.055444233119488,0.181742340326309) * FEATURE2_texOff(vec2(1,1));
res += mat4(-0.422204434871674,1.445038914680481,-0.310688465833664,0.068047530949116,-0.467283487319946,0.082728259265423,0.091573707759380,-0.085325203835964,0.098269797861576,0.118930794298649,-0.027888312935829,0.001463873661123,0.281393706798553,0.031337164342403,-0.364191472530365,0.267935156822205) * FEATURE3_texOff(vec2(-1,-1));
res += mat4(-0.331325739622116,-0.294082760810852,-0.025598512962461,-0.522079646587372,-0.463315755128860,-0.023660788312554,-0.078319221735001,-0.413767307996750,0.346244454383850,-0.154390349984169,0.020862160250545,-0.089012704789639,-0.047033272683620,-0.166179150342941,0.089169926941395,0.033887311816216) * FEATURE3_texOff(vec2(-1,0));
res += mat4(-0.133827760815620,-0.322568237781525,0.684416890144348,0.292914509773254,-0.236670032143593,-0.139616832137108,-0.572886705398560,-0.204778984189034,-0.000198436726350,0.113499373197556,0.040877718478441,-0.010601094923913,0.144713252782822,-0.025261549279094,0.456159442663193,0.123478062450886) * FEATURE3_texOff(vec2(-1,1));
res += mat4(-0.576119661331177,0.204088777303696,-0.036623980849981,-0.756638288497925,0.746863722801208,-0.787652671337128,0.080871462821960,-0.010696746408939,-0.422298729419708,-0.145996123552322,-0.070213451981544,0.033607918769121,-0.312702745199203,0.210177421569824,-0.236250832676888,0.083649724721909) * FEATURE3_texOff(vec2(0,-1));
res += mat4(-1.372122883796692,0.067549549043179,-0.749961018562317,1.101020693778992,-0.324222385883331,-0.085307322442532,0.196867763996124,0.148486077785492,-0.050849169492722,0.098980687558651,0.193912222981453,-0.173497587442398,-0.636987209320068,-0.346697479486465,-0.707484364509583,0.493525266647339) * FEATURE3_texOff(vec2(0,0));
res += mat4(0.016966579481959,-0.537569403648376,-0.360626578330994,-0.086208961904049,0.405272066593170,-0.193182110786438,-0.230798050761223,-0.117788553237915,-0.097669593989849,0.065883040428162,0.064816817641258,-0.076754257082939,-0.051494076848030,-0.133975774049759,-0.067002728581429,-0.290286749601364) * FEATURE3_texOff(vec2(0,1));
res += mat4(0.405682086944580,-0.323118776082993,0.803187072277069,-0.292765051126480,-0.180815368890762,-0.187822774052620,0.096629425883293,0.002494140528142,0.560390174388885,-0.001939800567925,0.250491440296173,-0.948809683322906,0.190506771206856,0.130795121192932,0.484519064426422,0.120409145951271) * FEATURE3_texOff(vec2(1,-1));
res += mat4(-0.058096725493670,-0.494807422161102,-0.010528672486544,0.339356303215027,-0.435469120740891,0.103271819651127,0.453500598669052,0.588436722755432,0.532846152782440,0.063993349671364,0.196236550807953,-1.410714745521545,0.362506449222565,0.355779498815536,0.320458918809891,-0.533504784107208) * FEATURE3_texOff(vec2(1,0));
res += mat4(-0.026446234434843,-0.125331699848175,-0.038076270371675,0.068881250917912,0.100486733019352,0.243984729051590,-0.312490105628967,0.071694947779179,-0.043220687657595,0.020395832136273,0.241452425718307,0.143773764371872,-0.051345072686672,0.088956452906132,0.235736027359962,-0.119409084320068) * FEATURE3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.605570793151855,0.107203714549541,0.308906853199005,-0.123631320893764) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 3.200 * > OUTPUT.h LUMA.h 3.200 * > *
//!COMPONENTS 4
//!BIND MODEL1
//!BIND MODEL2
//!BIND MODEL3
//!SAVE MODEL4
//!DESC [AiUpscale_Fast_4x_LineArt_RT] mapping 2_1

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(0.020021390169859,-0.112746872007847,0.041076377034187,0.023097028955817);
res += mat4(0.155362620949745,-0.217528030276299,0.098313696682453,-0.403972744941711,0.156982377171516,-0.121328860521317,0.094933949410915,0.116863198578358,0.066142275929451,0.099948018789291,-0.007063329685479,0.027748996391892,-0.086286537349224,0.264201819896698,0.111687630414963,-0.081837922334671) * MODEL1_texOff(vec2(-1,-1));
res += mat4(-0.410160273313522,-0.199612870812416,0.465016454458237,-0.101330831646919,0.037381794303656,-0.035212177783251,0.124898985028267,-0.164629593491554,0.108521185815334,0.160145238041878,0.166397824883461,0.041929103434086,-0.164823368191719,0.200597986578941,-0.020424988120794,-0.084374256432056) * MODEL1_texOff(vec2(-1,0));
res += mat4(-0.110309384763241,-0.177644714713097,0.245960876345634,-0.272945255041122,-0.005381123162806,-0.003247608197853,0.079928949475288,-0.134146943688393,-0.009440812282264,0.025974301621318,-0.050438582897186,0.021607886999846,0.067028537392616,-0.020000310614705,-0.063047423958778,0.406249076128006) * MODEL1_texOff(vec2(-1,1));
res += mat4(0.470104724168777,-0.331251919269562,-0.075980082154274,-0.458992570638657,-0.279672086238861,0.019670408219099,0.157484069466591,-0.069985680282116,0.106336571276188,-0.012114244513214,0.206516325473785,0.174222066998482,0.103245697915554,0.396817117929459,-0.038818575441837,0.024725507944822) * MODEL1_texOff(vec2(0,-1));
res += mat4(0.135371923446655,-0.211880609393120,-0.022016659379005,-0.523334562778473,-0.356326639652252,-0.129826232790947,0.151095896959305,0.469942569732666,-0.120823785662651,0.222982123494148,0.317686647176743,-0.145161971449852,-0.155928507447243,-0.196994230151176,0.488338977098465,0.123088829219341) * MODEL1_texOff(vec2(0,0));
res += mat4(0.357976287603378,-0.450252741575241,0.365659117698669,-0.095050044357777,0.014483376406133,-0.015716796740890,-0.080085493624210,-0.305163830518723,-0.177650496363640,-0.026123924180865,0.307646304368973,-0.063809186220169,0.117109738290310,-0.076204486191273,-0.207657307386398,0.099091336131096) * MODEL1_texOff(vec2(0,1));
res += mat4(0.240515694022179,0.041485309600830,-0.042097099125385,0.013302483595908,-0.116229772567749,0.081763751804829,-0.027252951636910,0.090534962713718,0.043306741863489,0.016103645786643,-0.024704152718186,0.122696988284588,-0.101021043956280,-0.185035973787308,0.030374506488442,0.060986541211605) * MODEL1_texOff(vec2(1,-1));
res += mat4(0.470087915658951,0.062582321465015,-0.029242150485516,-0.211563736200333,-0.133731454610825,0.050498977303505,0.118871934711933,0.162160262465477,-0.013453411869705,-0.000113490779768,-0.149944424629211,0.046661738306284,-0.155360758304596,-0.384224057197571,0.090114451944828,0.424654424190521) * MODEL1_texOff(vec2(1,0));
res += mat4(0.027556097134948,-0.016810940578580,-0.095432020723820,-0.196125984191895,0.006060380488634,-0.033580042421818,-0.100876711308956,0.052043810486794,-0.048863355070353,0.228673681616783,0.580745339393616,0.231059417128563,0.148945465683937,-0.120954379439354,-0.113651327788830,-0.035316318273544) * MODEL1_texOff(vec2(1,1));
res += mat4(0.222855836153030,-0.056868035346270,-0.136314108967781,-0.262559533119202,0.099509418010712,-0.144898295402527,-0.085893012583256,-0.041247710585594,-0.132493302226067,-0.212628528475761,0.155870407819748,-0.092718094587326,-0.198890537023544,0.065852724015713,0.129173770546913,0.094712115824223) * MODEL2_texOff(vec2(-1,-1));
res += mat4(0.354479610919952,0.031912248581648,-0.311843454837799,0.192199423909187,0.066278979182243,-0.022169992327690,-0.083368591964245,-0.204935461282730,-0.146155968308449,0.181282222270966,0.047028504312038,-0.070528075098991,-0.075237400829792,-0.166492819786072,-0.278724372386932,-0.012729323469102) * MODEL2_texOff(vec2(-1,0));
res += mat4(0.245456293225288,-0.073218852281570,-0.407721430063248,0.021934464573860,0.046305675059557,-0.153565928339958,-0.224120453000069,0.318349063396454,0.176797717809677,-0.087067589163780,0.038438152521849,0.366749823093414,0.004443007986993,-0.078899703919888,0.032269876450300,0.149842008948326) * MODEL2_texOff(vec2(-1,1));
res += mat4(-0.081240944564342,0.054928746074438,-0.238463267683983,0.106357470154762,0.335563480854034,-0.281989663839340,-0.081946067512035,0.253642529249191,0.184897243976593,-0.199232906103134,-0.001228049863130,-0.204857558012009,-0.007428643759340,0.157727703452110,0.008394620381296,0.043957397341728) * MODEL2_texOff(vec2(0,-1));
res += mat4(-0.444965332746506,0.928502917289734,0.177323132753372,-0.174418643116951,-0.550103366374969,-0.031158860772848,0.107748068869114,-0.423203647136688,0.519493222236633,0.114087902009487,-0.494148075580597,0.124090783298016,0.259546726942062,-0.007307675201446,-0.177538245916367,-0.061846356838942) * MODEL2_texOff(vec2(0,0));
res += mat4(-0.271817624568939,0.021278617903590,0.339320331811905,-0.046696897596121,0.185138553380966,0.014563905075192,0.401712030172348,0.703724265098572,0.034195419400930,0.214696332812309,-0.407637447118759,0.233673930168152,0.121063895523548,-0.018370229750872,0.061971593648195,-0.170691326260567) * MODEL2_texOff(vec2(0,1));
res += mat4(-0.102546945214272,-0.021982196718454,-0.120532892644405,-0.111906148493290,0.039318643510342,0.053367685526609,-0.027620028704405,0.349270522594452,-0.060108035802841,-0.009455251507461,0.049938075244427,-0.139047652482986,-0.109723918139935,-0.007949385792017,0.026165951043367,-0.038136921823025) * MODEL2_texOff(vec2(1,-1));
res += mat4(-0.135868653655052,0.321936905384064,0.271093904972076,0.176583215594292,-0.326171129941940,0.103527382016182,-0.173129498958588,0.098628647625446,0.133377373218536,-0.100149318575859,0.150043323636055,-0.172028630971909,0.015416517853737,-0.104793451726437,-0.022031767293811,-0.046379789710045) * MODEL2_texOff(vec2(1,0));
res += mat4(-0.454635083675385,-0.039099726825953,-0.077048763632774,0.032555464655161,-0.049933690577745,0.366359591484070,-0.135142788290977,-0.081871733069420,0.110660374164581,-0.071200326085091,-0.090862870216370,0.129982620477676,-0.018573608249426,-0.030611956492066,-0.012465772219002,0.055050592869520) * MODEL2_texOff(vec2(1,1));
res += mat4(0.025328241288662,0.067230463027954,0.002831014338881,0.094744578003883,-0.132119536399841,-0.082281030714512,-0.013697546906769,-0.037844475358725,-0.150446251034737,-0.183204889297485,0.020499581471086,-0.290642559528351,0.003287546103820,-0.041557569056749,0.208255782723427,0.185147330164909) * MODEL3_texOff(vec2(-1,-1));
res += mat4(0.054461043328047,-0.081127695739269,-0.039331637322903,-0.049618758261204,-0.172262340784073,0.030314821749926,-0.164078235626221,0.065856784582138,-0.070742174983025,-0.471275597810745,-0.373676389455795,0.166186928749084,0.183442369103432,0.072798721492290,0.494034260511398,-0.654241681098938) * MODEL3_texOff(vec2(-1,0));
res += mat4(-0.006987318862230,0.037399455904961,0.074119441211224,-0.098011404275894,0.072106257081032,0.049331720918417,-0.021713528782129,0.001513604191132,-0.142318561673164,0.057534746825695,-0.075195766985416,0.088395558297634,0.171989947557449,-0.269251316785812,0.055547889322042,0.052335623651743) * MODEL3_texOff(vec2(-1,1));
res += mat4(-0.031911969184875,0.102655380964279,-0.043277405202389,-0.012890731915832,0.229426935315132,-0.009797122329473,-0.145098656415939,-0.124984398484230,-0.334602415561676,-0.250284224748611,0.097552642226219,0.059247069060802,-0.143711119890213,-0.045869242399931,0.008605526760221,-0.060578215867281) * MODEL3_texOff(vec2(0,-1));
res += mat4(-0.149999693036079,0.268142879009247,0.104205071926117,-0.061080738902092,0.081034928560257,0.007447991054505,0.183867648243904,-0.097875975072384,1.357844710350037,-1.144205093383789,-0.902481138706207,-0.291614860296249,-0.336703479290009,0.037113178521395,-0.351096868515015,-0.065786257386208) * MODEL3_texOff(vec2(0,0));
res += mat4(0.088739939033985,0.056180343031883,-0.118571259081364,-0.215472742915154,0.056236710399389,-0.016010910272598,0.354587316513062,-0.188018813729286,-0.073610074818134,0.166654929518700,0.337606340646744,-0.199375852942467,0.009392533451319,-0.237998038530350,-0.097373932600021,0.007486728485674) * MODEL3_texOff(vec2(0,1));
res += mat4(0.080035284161568,-0.014247804880142,-0.047062464058399,-0.137642875313759,-0.255381494760513,-0.111725874245167,0.064295321702957,0.076714456081390,-0.242571830749512,0.211564376950264,-0.020878924056888,0.082040056586266,-0.470971792936325,0.146020948886871,0.091704912483692,0.066252440214157) * MODEL3_texOff(vec2(1,-1));
res += mat4(-0.392369478940964,-0.263453155755997,-0.102141477167606,-0.178024649620056,0.025748532265425,-0.020922934636474,-0.081391721963882,0.081757158041000,-0.020915629342198,0.375551789999008,-0.068352535367012,0.098712407052517,-0.209365576505661,0.286486834287643,0.019676143303514,-0.185513108968735) * MODEL3_texOff(vec2(1,0));
res += mat4(0.031898587942123,-0.029530858621001,-0.316395968198776,-0.086485385894775,0.046239346265793,-0.000203003975912,0.238314226269722,-0.117801003158092,-0.229131773114204,0.150872379541397,-0.181088566780090,0.066645227372646,-0.011713850311935,0.439352899789810,-0.069416373968124,0.109582550823689) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.183753788471222,-0.682842791080475,0.350188702344894,0.140492737293243) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(0.079251773655415,0.129122212529182,-0.020899036899209,0.141683682799339);
res += mat4(-0.005401771049947,0.001485960790887,-0.106237046420574,-0.013861856423318,-0.158849507570267,0.038436397910118,-0.003066659905016,-0.070019893348217,-0.086035273969173,0.192986786365509,0.094374626874924,0.153678745031357,-0.020905610173941,0.265853703022003,-0.052293822169304,0.397318929433823) * MODEL1_texOff(vec2(-1,-1));
res += mat4(-0.023970132693648,0.044602163136005,0.085341230034828,0.007706996053457,-0.140003979206085,-0.129972681403160,0.179468438029289,0.368543237447739,0.017808929085732,-0.175400033593178,0.150242120027542,0.142734482884407,0.298487544059753,-0.397089183330536,-0.080110959708691,0.263119310140610) * MODEL1_texOff(vec2(-1,0));
res += mat4(0.084486491978168,-0.059732101857662,0.041021082550287,0.001190408598632,-0.081276819109917,0.330255091190338,0.109761729836464,-0.201645120978355,0.046075802296400,0.018591390922666,0.184847474098206,0.243352383375168,0.140762507915497,0.033144459128380,0.312608182430267,0.154447719454765) * MODEL1_texOff(vec2(-1,1));
res += mat4(-0.094350032508373,0.259998947381973,-0.046602174639702,-0.194072008132935,-0.158177077770233,-0.083018220961094,-0.110671661794186,0.150749593973160,-0.150662437081337,0.013904004357755,0.048268269747496,0.225556448101997,0.051792137324810,0.109563142061234,-0.049741543829441,0.202510654926300) * MODEL1_texOff(vec2(0,-1));
res += mat4(-0.013201666064560,0.297591388225555,-0.104700841009617,0.061702709645033,0.059898663312197,-0.830415666103363,0.646597266197205,-0.050473395735025,-0.105815306305885,0.099049560725689,0.235425427556038,-0.401793897151947,-0.699972629547119,0.137548372149467,0.054885398596525,0.061006985604763) * MODEL1_texOff(vec2(0,0));
res += mat4(0.213463231921196,0.090717695653439,-0.006898005958647,-0.116750724613667,-0.420434832572937,0.143263369798660,-0.124955914914608,0.238218382000923,-0.402092903852463,-0.111416049301624,0.217792958021164,-0.423877865076065,0.189919233322144,-0.050999864935875,0.183509901165962,0.074313677847385) * MODEL1_texOff(vec2(0,1));
res += mat4(-0.240221634507179,-0.160393700003624,0.075966171920300,0.014127721078694,-0.342241555452347,0.015629248693585,0.096136026084423,-0.238966807723045,0.277438938617706,-0.121227428317070,0.041215583682060,-0.030150949954987,0.272452324628830,0.050520826131105,-0.001729226554744,0.041567690670490) * MODEL1_texOff(vec2(1,-1));
res += mat4(-0.012120136991143,-0.006597266066819,-0.025563644245267,-0.245817229151726,0.387025624513626,-0.069509826600552,-0.115283496677876,0.165424555540085,0.021621737629175,-0.282748281955719,0.024667739868164,-0.055092576891184,0.563961207866669,-0.227393552660942,0.055834807455540,-0.202254742383957) * MODEL1_texOff(vec2(1,0));
res += mat4(0.051116898655891,0.103160686790943,0.030182084068656,0.001222991617396,-0.193830117583275,-0.058328293263912,0.041167099028826,-0.060007870197296,0.166660934686661,-0.411140024662018,-0.056855261325836,0.161066025495529,0.123160779476166,-0.077566161751747,0.026481604203582,0.083922535181046) * MODEL1_texOff(vec2(1,1));
res += mat4(0.020212430506945,0.058399923145771,-0.007607930805534,-0.019454158842564,-0.013725676573813,-0.135716482996941,-0.021310236304998,-0.012449260801077,0.003047147998586,-0.223410069942474,0.052807733416557,0.009487606585026,0.272648423910141,0.234808817505836,-0.363927364349365,-0.066142179071903) * MODEL2_texOff(vec2(-1,-1));
res += mat4(0.057913437485695,-0.050409730523825,0.313690423965454,0.203119710087776,-0.047226868569851,-0.043802775442600,0.018696403130889,0.144327655434608,0.096815980970860,-0.482106834650040,0.371029168367386,0.351346552371979,0.373656064271927,0.351006120443344,-0.361320793628693,-0.045877180993557) * MODEL2_texOff(vec2(-1,0));
res += mat4(-0.050196301192045,0.098925508558750,0.238466501235962,-0.006071382667869,-0.099834181368351,-0.120326027274132,0.045170232653618,-0.072961278259754,-0.340947806835175,0.087838798761368,0.107541285455227,-0.099989920854568,0.278572499752045,0.137803718447685,-0.205550789833069,0.036830272525549) * MODEL2_texOff(vec2(-1,1));
res += mat4(-0.123037993907928,0.013362733647227,0.259317725896835,0.108411408960819,0.182670727372169,0.036818977445364,0.327194720506668,0.096230082213879,-0.230524361133575,0.187447309494019,0.220300599932671,0.220388233661652,0.377633661031723,0.171980038285255,-0.497345447540283,0.165984079241753) * MODEL2_texOff(vec2(0,-1));
res += mat4(-0.196977570652962,-0.027000820264220,-0.641415297985077,-0.937233805656433,0.045864764600992,0.080189749598503,-0.151178985834122,0.210225686430931,-0.142916232347488,0.214868724346161,-0.060775578022003,-0.522143244743347,0.646138429641724,0.179162725806236,-0.105593405663967,0.215564951300621) * MODEL2_texOff(vec2(0,0));
res += mat4(0.127158820629120,0.745237410068512,0.232491910457611,0.081441663205624,-0.017570063471794,-0.196386486291885,0.153532579541206,0.066633202135563,0.081653311848640,-0.383759140968323,-0.420242875814438,0.056950226426125,0.228811874985695,0.148023694753647,-0.563026905059814,-0.213993564248085) * MODEL2_texOff(vec2(0,1));
res += mat4(0.259718596935272,-0.047232206910849,-0.013349897228181,-0.001939847017638,0.256911724805832,0.013087708503008,-0.221411198377609,-0.184741869568825,0.041851066052914,-0.201927199959755,0.028260467574000,0.264185011386871,0.288858443498611,0.182726502418518,-0.430919557809830,0.042255360633135) * MODEL2_texOff(vec2(1,-1));
res += mat4(-0.079537473618984,-0.384373843669891,0.158041328191757,0.128900274634361,0.210779413580894,-0.441906213760376,-0.247172906994820,-0.655114948749542,0.010311252437532,-0.341614991426468,0.028487123548985,0.625794947147369,0.131853982806206,0.417916208505630,-0.297697663307190,0.386112511157990) * MODEL2_texOff(vec2(1,0));
res += mat4(-0.094435282051563,0.197644457221031,0.009240426123142,-0.187650203704834,-0.024123109877110,-0.019983349367976,-0.239732459187508,0.078406304121017,-0.035652369260788,0.046437017619610,-0.385204523801804,0.027738932520151,0.431738495826721,0.120419010519981,-0.300943791866302,0.041912756860256) * MODEL2_texOff(vec2(1,1));
res += mat4(-0.054301958531141,-0.434409260749817,-0.050980560481548,-0.108549080789089,-0.096637815237045,-0.030050754547119,0.175440669059753,0.060099214315414,0.039199240505695,0.004788531456143,-0.040068857371807,-0.020844753831625,-0.030531845986843,-0.301000267267227,0.022552685812116,-0.154429301619530) * MODEL3_texOff(vec2(-1,-1));
res += mat4(0.125945359468460,-0.171752437949181,0.357613384723663,0.166100889444351,0.000606448913459,0.218545511364937,0.059427868574858,0.093354642391205,-0.406557768583298,0.002294843085110,-0.307187229394913,-0.131044268608093,-0.358070492744446,-0.224902793765068,0.161244243383408,-0.241789266467094) * MODEL3_texOff(vec2(-1,0));
res += mat4(-0.041661500930786,0.010412110947073,0.088739626109600,-0.013655984774232,-0.251935750246048,0.208351895213127,0.016058985143900,-0.065273299813271,-0.165690198540688,0.158259585499763,-0.509796798229218,-0.189696162939072,-0.216843202710152,-0.147649839520454,0.002476503141224,-0.238767012953758) * MODEL3_texOff(vec2(-1,1));
res += mat4(0.007579760625958,-0.287748247385025,-0.131921857595444,0.025598457083106,-0.874360024929047,-0.188636422157288,-0.095500707626343,-0.089808382093906,0.130890905857086,0.069975219666958,-0.072673760354519,-0.000564053712878,-0.127021059393883,-0.318643957376480,0.146818995475769,-0.342639535665512) * MODEL3_texOff(vec2(0,-1));
res += mat4(0.207619458436966,0.302866220474243,-0.065510593354702,-0.026488330215216,0.343886852264404,0.100696474313736,0.622226417064667,0.288632154464722,-0.199814870953560,-0.151092961430550,-0.138915479183197,-0.132386550307274,-0.222819313406944,-0.020117852836847,0.175181373953819,-1.376378655433655) * MODEL3_texOff(vec2(0,0));
res += mat4(-0.067180998623371,-0.683478653430939,-0.041153199970722,-0.053877018392086,-0.087874032557011,-0.224480777978897,0.794464051723480,0.376371502876282,-0.173246204853058,-0.008480575866997,-0.174824640154839,-0.141540020704269,-0.167140334844589,-0.263376384973526,0.089423798024654,0.206304118037224) * MODEL3_texOff(vec2(0,1));
res += mat4(-0.065563812851906,-0.078131236135960,-0.077673092484474,-0.074851825833321,-0.413213729858398,0.333931863307953,-0.142880022525787,-0.077751286327839,0.047926247119904,-0.005204435437918,0.043950367718935,-0.002038439735770,-0.486808449029922,-0.035507056862116,0.140607744455338,-0.107887446880341) * MODEL3_texOff(vec2(1,-1));
res += mat4(0.335455924272537,-0.067730195820332,-0.284503430128098,-0.400977104902267,0.398278146982193,0.241622075438499,0.149814590811729,-0.161907956004143,-0.305566966533661,-0.181638240814209,0.183117732405663,0.231822937726974,-0.758397877216339,0.188549444079399,0.147139072418213,0.030760610476136) * MODEL3_texOff(vec2(1,0));
res += mat4(-0.148446395993233,-0.236970216035843,-0.325987756252289,-0.201542153954506,0.806101918220520,-0.012399424798787,0.292404711246490,0.513888299465179,-0.094900935888290,0.148609727621078,0.111792013049126,0.044848538935184,-0.420702040195465,0.269204169511795,0.243502572178841,0.025570753961802) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.047751661390066,0.924880743026733,0.011469669640064,-0.255707740783691) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 3.200 * > OUTPUT.h LUMA.h 3.200 * > *
//!COMPONENTS 4
//!BIND MODEL1
//!BIND MODEL2
//!BIND MODEL3
//!SAVE MODEL5
//!DESC [AiUpscale_Fast_4x_LineArt_RT] mapping 2_2

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(-0.131857603788376,-0.168100908398628,0.381342679262161,0.202156499028206);
res += mat4(-0.013272774405777,-0.010080268606544,-0.567517399787903,0.062042575329542,-0.045206036418676,-0.090854927897453,0.145071849226952,-0.162287548184395,-0.084986738860607,0.005287633277476,0.135765984654427,0.052296739071608,-0.066855177283287,-0.019927343353629,0.197150230407715,0.252457708120346) * MODEL1_texOff(vec2(-1,-1));
res += mat4(0.181789308786392,-0.120895788073540,0.192810252308846,-0.152507916092873,-0.243015989661217,0.042169947177172,-0.099575035274029,-0.063090644776821,-0.040306385606527,0.104747429490089,-0.278042107820511,0.119687750935555,0.033147629350424,-0.030726797878742,0.087928771972656,-0.026164297014475) * MODEL1_texOff(vec2(-1,0));
res += mat4(-0.154321312904358,0.160260111093521,0.212310805916786,-0.186198979616165,-0.005176391452551,-0.015765950083733,0.016046170145273,0.012346615083516,0.014492001384497,0.105828642845154,-0.050584655255079,-0.011771239340305,0.116412803530693,-0.024469366297126,0.107727229595184,-0.286703646183014) * MODEL1_texOff(vec2(-1,1));
res += mat4(-0.110183574259281,-0.319776326417923,0.127973452210426,-0.217338517308235,0.088996008038521,-0.190786913037300,-0.817004799842834,-0.383779615163803,0.060056477785110,0.073407769203186,-0.007135160733014,0.163236796855927,0.157064676284790,0.245616823434830,0.267775952816010,-0.356746703386307) * MODEL1_texOff(vec2(0,-1));
res += mat4(-0.157730847597122,-0.282496780157089,0.255388826131821,-0.082636646926403,0.285137861967087,0.052924007177353,-0.205417156219482,-0.418142735958099,0.375431805849075,0.222809672355652,-0.915179789066315,0.108539856970310,0.336474865674973,-0.480624079704285,0.035147149115801,0.136164247989655) * MODEL1_texOff(vec2(0,0));
res += mat4(0.018084613606334,-0.143384501338005,0.199718087911606,0.145153045654297,-0.068801879882813,0.056499317288399,-0.123606137931347,-0.183837011456490,0.205842047929764,0.210645750164986,-0.570467114448547,-0.213176771998405,-0.147763058543205,-0.030026912689209,-0.085649922490120,0.072423681616783) * MODEL1_texOff(vec2(0,1));
res += mat4(0.129567503929138,-0.353085845708847,0.119298234581947,0.210991859436035,0.006135260686278,-0.171657338738441,-0.087396636605263,-0.048407077789307,-0.104670122265816,0.043743714690208,0.171967402100563,0.032196804881096,-0.011552893556654,0.175070509314537,0.018945725634694,-0.004792993422598) * MODEL1_texOff(vec2(1,-1));
res += mat4(0.454149514436722,-0.211572483181953,-0.051143448799849,-0.024426283314824,0.095134541392326,-0.048373863101006,0.062265772372484,-0.257028698921204,-0.074159882962704,0.134914383292198,-0.225649923086166,-0.061583958566189,-0.670277535915375,0.351914942264557,0.205853179097176,0.176698237657547) * MODEL1_texOff(vec2(1,0));
res += mat4(0.104888811707497,-0.051410656422377,0.082288987934589,-0.218175113201141,0.015895863994956,-0.007718002889305,0.088014088571072,-0.177802383899689,0.333642095327377,0.174143627285957,-0.518592059612274,-0.215617626905441,-0.285067409276962,0.121033333241940,0.044134013354778,0.095948472619057) * MODEL1_texOff(vec2(1,1));
res += mat4(0.038467891514301,0.143771231174469,-0.015338779427111,-0.182648032903671,0.065227903425694,-0.141280710697174,-0.387363910675049,0.250283330678940,-0.032543867826462,-0.035606004297733,-0.074863493442535,-0.295586258172989,0.087450034916401,-0.043913256376982,0.381905555725098,-0.506860196590424) * MODEL2_texOff(vec2(-1,-1));
res += mat4(-0.294334977865219,0.248936578631401,0.101855322718620,0.133365556597710,-0.311373800039291,0.430937469005585,0.189730510115623,0.302457273006439,-0.389254331588745,-0.215806156396866,0.239568784832954,-0.128311082720757,0.112993627786636,-0.112705022096634,-0.091261617839336,-0.808642864227295) * MODEL2_texOff(vec2(-1,0));
res += mat4(0.018032450228930,-0.242008194327354,0.039689093828201,0.175581976771355,-0.068040207028389,0.030386501923203,-0.102358922362328,0.039955444633961,0.014747058972716,-0.082413591444492,0.274417251348495,-0.180813342332840,-0.307825505733490,0.043830659240484,0.060151860117912,-0.561439812183380) * MODEL2_texOff(vec2(-1,1));
res += mat4(0.142173454165459,0.283590167760849,0.162597075104713,0.299156069755554,-0.035769067704678,0.015088388696313,-0.257766872644424,0.446747452020645,-0.108606345951557,-0.245282903313637,0.081814780831337,0.050994638353586,-0.033591635525227,0.007151826750487,0.250374078750610,-0.509196102619171) * MODEL2_texOff(vec2(0,-1));
res += mat4(-0.282398313283920,0.020614776760340,0.004254705738276,-0.382113128900528,0.153438866138458,-0.571591973304749,-0.351491779088974,-0.160150662064552,-0.214512601494789,0.010409329086542,0.093073569238186,-0.071257606148720,-0.161158695816994,-0.049238249659538,0.079020962119102,-1.293236494064331) * MODEL2_texOff(vec2(0,0));
res += mat4(-0.331269532442093,-0.141964569687843,-0.040556326508522,-0.164356246590614,0.107971183955669,0.281982630491257,0.039562564343214,0.445109397172928,-0.524112522602081,-0.365959018468857,0.074540302157402,-0.165163949131966,0.011393280699849,0.104680083692074,0.155239567160606,-0.574144065380096) * MODEL2_texOff(vec2(0,1));
res += mat4(0.042762175202370,0.096104420721531,0.150584056973457,0.165291309356689,-0.192931622266769,0.055879574269056,-0.056395292282104,0.084389530122280,0.223361119627953,-0.106167025864124,-0.026744414120913,0.175139442086220,-0.140778884291649,0.138217106461525,0.053924940526485,-0.110716454684734) * MODEL2_texOff(vec2(1,-1));
res += mat4(0.608415186405182,-0.085575222969055,-0.254093289375305,0.118182420730591,-0.336768299341202,0.355325967073441,0.148051649332047,0.251914054155350,0.483166366815567,0.188460677862167,-0.495219439268112,-0.213121831417084,-0.144904181361198,0.005721629597247,0.028380060568452,-0.232123628258705) * MODEL2_texOff(vec2(1,0));
res += mat4(0.383581131696701,-0.152833431959152,-0.155610159039497,-0.220013886690140,0.139830246567726,0.068102352321148,-0.198414072394371,-0.014357591979206,0.267926126718521,-0.184843480587006,-0.250220090150833,0.158993750810623,-0.253176331520081,0.109945684671402,0.174919649958611,-0.289680749177933) * MODEL2_texOff(vec2(1,1));
res += mat4(0.112866573035717,0.038920391350985,-0.068235546350479,-0.173962369561195,0.031443931162357,-0.074705839157104,-0.031074333935976,0.435881912708282,-0.042756643146276,-0.171114727854729,-0.094098135828972,-0.019012022763491,0.019181881099939,-0.200266614556313,0.006325298920274,-0.064768962562084) * MODEL3_texOff(vec2(-1,-1));
res += mat4(0.035218931734562,0.016315607354045,-0.001985615352169,-0.194756790995598,0.157771527767181,-0.072897069156170,0.331997483968735,0.413265943527222,-0.434895932674408,-0.079890042543411,0.110667139291763,-0.003810826456174,0.126225531101227,-0.099580235779285,-0.035333607345819,-0.421372741460800) * MODEL3_texOff(vec2(-1,0));
res += mat4(0.049456790089607,0.011915341019630,0.047128509730101,-0.002698754426092,0.079840868711472,0.054122202098370,0.157086372375488,0.336874514818192,-0.100838921964169,0.014667402952909,-0.028045995160937,-0.005522503051907,-0.119194306433201,0.135344028472900,0.009887673892081,0.175351813435555) * MODEL3_texOff(vec2(-1,1));
res += mat4(0.040836885571480,0.047054108232260,-0.440711855888367,-0.089564129710197,-0.108037501573563,0.053939118981361,0.136933669447899,0.673232436180115,0.016606654971838,-0.057183075696230,0.080884441733360,-0.023444730788469,0.256509810686111,-0.479096800088882,-0.055296495556831,0.000775340187829) * MODEL3_texOff(vec2(0,-1));
res += mat4(0.124931663274765,0.117356382310390,-1.477692723274231,-0.069191768765450,0.116939224302769,-0.045041061937809,-0.035181868821383,0.713029742240906,-0.633743643760681,0.314559936523438,0.851540446281433,0.279636114835739,-0.518195271492004,0.372184634208679,0.382067471742630,0.265070855617523) * MODEL3_texOff(vec2(0,0));
res += mat4(0.124703012406826,0.121015131473541,0.189079672098160,0.056923065334558,0.027735203504562,0.178127735853195,0.102535076439381,0.341848641633987,-0.098086394369602,0.075784943997860,-0.070865400135517,0.050109434872866,-0.123466111719608,-0.118360050022602,0.084997490048409,0.443112373352051) * MODEL3_texOff(vec2(0,1));
res += mat4(-0.140400439500809,0.099692054092884,-0.263400465250015,0.015392411500216,0.047074798494577,0.162456676363945,0.399128615856171,0.590802609920502,-0.150730893015862,0.059086631983519,-0.193403020501137,-0.013676105998456,-0.410471081733704,0.076473183929920,-0.327153205871582,0.031327605247498) * MODEL3_texOff(vec2(1,-1));
res += mat4(-0.218927398324013,0.011598899029195,-0.763898253440857,0.132875576615334,-0.161694109439850,-0.008674967102706,0.020575834438205,0.657768785953522,-0.020051330327988,0.090850837528706,-0.052054617553949,0.006963647436351,0.200752809643745,-0.121492795646191,0.039792042225599,-0.097927324473858) * MODEL3_texOff(vec2(1,0));
res += mat4(-0.066934011876583,0.071414656937122,0.301658868789673,0.042322088032961,-0.027406804263592,-0.013226425275207,0.028240401297808,0.424977630376816,0.085324220359325,0.060339607298374,-0.153161451220512,0.025848286226392,0.238359734416008,0.155324816703796,-0.113071307539940,-0.327399045228958) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.313712865114212,1.362213134765625,0.031218752264977,0.111639991402626) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(-0.121011696755886,0.285754263401031,0.156396627426147,0.041157707571983);
res += mat4(0.142026245594025,-0.072884827852249,-0.191489964723587,-0.056832041591406,-0.052233364433050,0.171996280550957,0.184775590896606,0.075502507388592,-0.031479503959417,0.145169422030449,0.243842884898186,0.141998574137688,0.114339262247086,0.225038930773735,0.170599997043610,0.054878577589989) * MODEL1_texOff(vec2(-1,-1));
res += mat4(0.018632002174854,0.042543992400169,0.065176337957382,-0.162928029894829,-0.495232462882996,-0.202038407325745,-0.138546049594879,-0.197428271174431,-0.302654862403870,-0.165327489376068,0.005397209431976,-0.048824280500412,0.845880687236786,0.186877295374870,0.145929113030434,0.249489560723305) * MODEL1_texOff(vec2(-1,0));
res += mat4(-0.101484753191471,0.097979530692101,0.148554176092148,-0.152378886938095,-0.154262870550156,-0.001686177100055,-0.217622026801109,0.155374020338058,-0.052238419651985,0.085012383759022,0.133585587143898,0.270852178335190,0.050536155700684,0.295049160718918,-0.270868510007858,0.232070744037628) * MODEL1_texOff(vec2(-1,1));
res += mat4(0.049730245023966,-0.027673341333866,-2.957889318466187,-0.001785383094102,-0.483376204967499,0.122259266674519,0.226975873112679,0.069925084710121,0.035124786198139,0.032821252942085,0.009094014763832,-0.074526250362396,0.033890247344971,0.195950806140900,0.036247972398996,-0.032802402973175) * MODEL1_texOff(vec2(0,-1));
res += mat4(-0.764179289340973,0.055741868913174,0.187201336026192,-0.108896814286709,0.980856299400330,-0.232549294829369,0.081302210688591,-0.352522790431976,0.384787648916245,-0.058053411543369,0.551772832870483,-0.058584179729223,0.101322039961815,0.484413206577301,-0.190424665808678,-0.080920688807964) * MODEL1_texOff(vec2(0,0));
res += mat4(-0.133642137050629,-0.010514019988477,0.048473112285137,-0.374362260103226,0.060699716210365,-0.056381683796644,-0.330758869647980,0.322183459997177,0.392092525959015,-0.039029240608215,-0.116659648716450,0.473837047815323,0.003818440018222,0.194818645715714,-0.063900299370289,0.078303903341293) * MODEL1_texOff(vec2(0,1));
res += mat4(0.161898165941238,-0.055774401873350,-0.290606141090393,0.081163808703423,-0.037573814392090,-0.038804750889540,0.132626459002495,0.118334390223026,0.046103022992611,0.078452929854393,0.099455125629902,-0.104973874986172,-0.038536697626114,0.151457652449608,0.057173892855644,0.035800725221634) * MODEL1_texOff(vec2(1,-1));
res += mat4(-0.001848066109233,-0.052343707531691,0.047985192388296,0.150465846061707,-0.222743570804596,0.469179779291153,0.008245090954006,0.034443721175194,0.176212027668953,0.154524147510529,0.295564204454422,0.001808367087506,0.242900565266609,0.225912600755692,0.057592168450356,0.106044039130211) * MODEL1_texOff(vec2(1,0));
res += mat4(-0.061408583074808,-0.007305308710784,0.133106663823128,-0.253189980983734,0.302424669265747,0.030347244814038,0.094180889427662,-0.027856547385454,0.006329828407615,0.035594820976257,-0.007659005466849,0.117167733609676,0.030943015590310,0.052188206464052,0.029873326420784,-0.020949015393853) * MODEL1_texOff(vec2(1,1));
res += mat4(-0.008202442899346,-0.015137509442866,0.227381318807602,0.014333670027554,-0.238836854696274,-0.060928724706173,0.197220042347908,0.017251914367080,-0.056192897260189,-0.173764780163765,0.201144993305206,0.149588912725449,-0.143502146005630,0.061736986041069,-0.011801009066403,-0.054526433348656) * MODEL2_texOff(vec2(-1,-1));
res += mat4(-0.133758798241615,-0.468199104070663,0.110841900110245,-0.200320824980736,0.251567631959915,-0.045859310775995,-0.185089886188507,0.027724301442504,-0.240142509341240,-0.621390759944916,-0.288887768983841,-0.214096188545227,-0.279241412878036,0.389497637748718,0.240002796053886,-0.081311173737049) * MODEL2_texOff(vec2(-1,0));
res += mat4(0.153983756899834,-0.181535243988037,-0.079860143363476,-0.357596129179001,0.080926105380058,-0.094782993197441,-0.116680227220058,0.243617519736290,-0.177068546414375,0.150304928421974,-0.033385060727596,0.173022463917732,-0.125501066446304,0.085374705493450,0.050163388252258,-0.054192055016756) * MODEL2_texOff(vec2(-1,1));
res += mat4(-0.016607666388154,-0.173541948199272,-0.067394949495792,0.065991938114166,0.088572479784489,-0.189654797315598,0.565713286399841,0.036641139537096,0.336159110069275,-0.151013016700745,0.093857824802399,-0.107261106371880,-0.189945906400681,0.001409210846759,-0.221524462103844,-0.132607355713844) * MODEL2_texOff(vec2(0,-1));
res += mat4(0.317678689956665,0.678373813629150,0.077140107750893,0.537837684154510,0.093687295913696,-0.709852933883667,-0.346137970685959,0.050858072936535,0.275082111358643,0.305876612663269,0.062544964253902,0.403836637735367,-0.702214360237122,0.287214994430542,0.226403281092644,0.100649856030941) * MODEL2_texOff(vec2(0,0));
res += mat4(-0.038452129811049,-0.509373188018799,-0.194492876529694,-0.949387788772583,0.271737575531006,0.416844725608826,-0.110769428312778,0.449120879173279,0.094941973686218,-0.059116534888744,0.051254898309708,0.121280133724213,-0.219722002744675,0.200909242033958,-0.075597882270813,0.088270731270313) * MODEL2_texOff(vec2(0,1));
res += mat4(0.113829918205738,-0.132341653108597,-0.112605735659599,-0.040115002542734,-0.030414743348956,-0.031116688624024,0.189406543970108,-0.083794727921486,-0.002803793177009,-0.066869392991066,-0.046959858387709,-0.127303421497345,-0.181117549538612,-0.103190295398235,-0.098316542804241,-0.004622410982847) * MODEL2_texOff(vec2(1,-1));
res += mat4(-0.093360476195812,0.028118936344981,0.013924348168075,0.030930083245039,-0.130314603447914,0.574154078960419,0.115707017481327,0.105402648448944,-0.152065828442574,0.018099924549460,0.187269330024719,0.176477447152138,-0.571221292018890,0.023442804813385,-0.090168878436089,-0.127648338675499) * MODEL2_texOff(vec2(1,0));
res += mat4(0.275961428880692,0.035009879618883,0.030384460464120,-0.079208180308342,0.163992449641228,0.093806713819504,-0.138713300228119,0.378389269113541,-0.029717093333602,-0.249061986804008,-0.053373079746962,0.348087817430496,-0.254182457923889,0.118996717035770,-0.036926675587893,-0.080485031008720) * MODEL2_texOff(vec2(1,1));
res += mat4(-0.148732319474220,-0.229132264852524,-0.076875366270542,-0.015072052367032,0.086554609239101,-0.051871336996555,-0.144366651773453,0.005401133093983,-0.142950177192688,-0.120117425918579,-0.253781318664551,-0.068931154906750,0.056767143309116,-0.138703882694244,-0.430342257022858,-0.110663011670113) * MODEL3_texOff(vec2(-1,-1));
res += mat4(-0.304003566503525,-0.201873064041138,-0.118029303848743,-0.083232983946800,-0.012846352532506,0.217705115675926,0.021759888157248,-0.140130028128624,0.019226031377912,0.409343808889389,0.065104126930237,0.112210988998413,0.136414900422096,0.261724323034286,-0.271003067493439,-0.042935486882925) * MODEL3_texOff(vec2(-1,0));
res += mat4(-0.150977253913879,-0.185960948467255,-0.046580221503973,-0.015898663550615,-0.201987922191620,0.193776026368141,0.181679248809814,-0.195208102464676,-0.017445487901568,0.161007642745972,0.044518884271383,0.121876291930676,0.094625569880009,-0.040673475712538,-0.084601424634457,-0.224439620971680) * MODEL3_texOff(vec2(-1,1));
res += mat4(-0.002555336104706,-0.206677436828613,0.195278242230415,0.270168364048004,0.101961106061935,-0.368590205907822,-0.238590717315674,-0.141092136502266,-0.116406932473183,-0.240175247192383,-0.137832835316658,0.000977327697910,0.070663154125214,-0.203772783279419,-0.456388264894485,0.136253610253334) * MODEL3_texOff(vec2(0,-1));
res += mat4(-0.371250897645950,0.241128489375114,0.289249628782272,-0.262149959802628,-0.593285441398621,0.311569482088089,0.751131355762482,0.005832494236529,0.041287783533335,0.258023411035538,0.309870868921280,0.181311115622520,-0.673391342163086,0.106031507253647,-0.009783182293177,-0.126276537775993) * MODEL3_texOff(vec2(0,0));
res += mat4(0.822285830974579,0.051628392189741,-0.025081638246775,0.158530935645103,0.683491230010986,-0.008167446590960,0.221242383122444,-0.416301280260086,-0.070053294301033,0.011920486576855,0.170040026307106,0.199780017137527,-0.233384311199188,-0.055045735090971,0.196800783276558,-0.250272840261459) * MODEL3_texOff(vec2(0,1));
res += mat4(-0.179871112108231,-0.019088460132480,0.027538359165192,0.238564357161522,0.331215232610703,-0.315285325050354,-0.087036930024624,0.045009370893240,0.069881379604340,-0.123444616794586,-0.058008465915918,0.019446784630418,-0.035677138715982,-0.187410295009613,-0.155690416693687,0.027927821502090) * MODEL3_texOff(vec2(1,-1));
res += mat4(-0.113179221749306,0.494138270616531,0.079873964190483,-0.193282321095467,-0.192058727145195,0.168563544750214,0.360159635543823,0.227810785174370,-0.108206957578659,-0.055866830050945,0.122155092656612,-0.053987558931112,-0.255327731370926,-0.226235419511795,-0.339947491884232,0.047358609735966) * MODEL3_texOff(vec2(1,0));
res += mat4(0.350206315517426,0.106066584587097,0.032668381929398,0.243934705853462,-0.259385675191879,0.046205006539822,0.080949306488037,0.076722428202629,-0.110371939837933,-0.047335494309664,-0.045813102275133,0.079780124127865,-0.244026735424995,-0.096287928521633,-0.030351802706718,0.052376959472895) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.750335037708282,0.747676193714142,-0.028296632692218,-0.406225502490997) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 3.200 * > OUTPUT.h LUMA.h 3.200 * > *
//!COMPONENTS 4
//!BIND MODEL1
//!BIND MODEL2
//!BIND MODEL3
//!SAVE MODEL6
//!DESC [AiUpscale_Fast_4x_LineArt_RT] mapping 2_3

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(0.298946797847748,0.203192397952080,0.119569443166256,0.291794449090958);
res += mat4(-0.217367351055145,0.152566641569138,0.133256629109383,-0.007861453108490,-0.114375203847885,0.118387542665005,0.002481382805854,0.169225022196770,0.240536928176880,0.101606041193008,0.236457929015160,0.078493051230907,0.251511633396149,-0.083409957587719,0.224451735615730,-0.008410383015871) * MODEL1_texOff(vec2(-1,-1));
res += mat4(-0.103794142603874,-0.660742223262787,0.281945466995239,0.310842007398605,-0.126831099390984,-1.648252487182617,-0.036209430545568,0.158776268362999,0.155475229024887,-0.154507264494896,0.163388475775719,0.359085559844971,0.303916603326797,0.138986974954605,0.198040261864662,-0.131998330354691) * MODEL1_texOff(vec2(-1,0));
res += mat4(0.162415876984596,0.232503950595856,-0.103617489337921,-0.095667123794556,0.027627034112811,-0.276074528694153,-0.060204941779375,0.107191376388073,0.206019088625908,-0.367813646793365,0.050200842320919,0.178190276026726,0.065634205937386,-0.183632940053940,-0.173010796308517,0.021046519279480) * MODEL1_texOff(vec2(-1,1));
res += mat4(-0.298445194959641,0.077209241688251,0.150425121188164,0.016949152573943,-1.070971369743347,-0.119015231728554,0.455503314733505,-0.191480979323387,0.152588620781898,0.008293348364532,0.125971466302872,0.241761878132820,0.459853887557983,-0.152302309870720,0.039359752088785,0.044017180800438) * MODEL1_texOff(vec2(0,-1));
res += mat4(0.136348932981491,-0.085759349167347,-0.026865465566516,-0.139245852828026,-1.416523814201355,-0.353464514017105,0.117276065051556,-0.405760556459427,0.014833118766546,-0.267881453037262,0.187849074602127,-0.353591769933701,0.400590837001801,0.326592355966568,-0.160315066576004,0.300132066011429) * MODEL1_texOff(vec2(0,0));
res += mat4(-0.087914742529392,-0.252663046121597,0.004368929658085,0.437736123800278,-0.157088279724121,-0.129642724990845,-0.001843751640990,-0.197133079171181,-0.041623529046774,-0.083344966173172,0.147194787859917,-0.284187614917755,-0.276460707187653,0.226391762495041,0.106199204921722,0.236723810434341) * MODEL1_texOff(vec2(0,1));
res += mat4(-0.229057803750038,-0.057369198650122,0.401581078767776,-0.139753594994545,0.147995501756668,0.027395976707339,-0.046937074512243,-0.089380890130997,0.122755564749241,-0.176650092005730,-0.206415295600891,0.276088714599609,0.036706432700157,0.063919119536877,-0.050254009664059,0.191916748881340) * MODEL1_texOff(vec2(1,-1));
res += mat4(-0.147898167371750,-0.122884251177311,0.125882551074028,-0.385592132806778,-0.005333949346095,-0.080085679888725,-0.077910006046295,0.070843890309334,-0.182040944695473,-0.069125987589359,0.214514911174774,0.026940329000354,-0.491509854793549,0.390407264232635,0.076932363212109,0.329343110322952) * MODEL1_texOff(vec2(1,0));
res += mat4(-0.110422693192959,-0.031326908618212,0.134183451533318,-0.253183752298355,0.013506905175745,-0.045122183859348,-0.071899250149727,0.180600985884666,-0.112103819847107,-0.042716082185507,-0.178934380412102,-0.197301700711250,0.146712258458138,-0.133409082889557,-0.104027099907398,0.469638168811798) * MODEL1_texOff(vec2(1,1));
res += mat4(-0.397280395030975,-0.221001818776131,0.270181685686111,0.200454503297806,-0.118780307471752,-0.097901813685894,0.252212375402451,0.112727150321007,-0.275187343358994,0.320403337478638,-0.150487527251244,-0.216247141361237,-0.163075357675552,0.295877337455750,-0.057762350887060,0.247250378131866) * MODEL2_texOff(vec2(-1,-1));
res += mat4(-0.607535004615784,0.301847696304321,0.181669592857361,-0.133136749267578,-0.068646021187305,0.456995785236359,-0.313088834285736,-0.120280951261520,-0.162831351161003,0.468673855066299,-0.067726753652096,-0.261643856763840,-0.421813547611237,0.488969624042511,0.007834867574275,0.118250392377377) * MODEL2_texOff(vec2(-1,0));
res += mat4(-0.111120514571667,0.425388246774673,0.248595148324966,-0.364229977130890,-0.174012392759323,-0.324986159801483,0.015410153195262,-0.161909773945808,-0.015528511255980,0.091345019638538,-0.091452136635780,-0.221314609050751,-0.009927762672305,0.315251708030701,-0.234771624207497,0.035734634846449) * MODEL2_texOff(vec2(-1,1));
res += mat4(-0.543869137763977,-0.013334627263248,0.295677155256271,-0.019010918214917,-0.134845301508904,0.111593656241894,0.440036416053772,-0.317199915647507,-0.089024730026722,-0.068457685410976,-0.478139370679855,-0.302707135677338,0.083015151321888,0.154162019491196,-0.029249021783471,0.324722021818161) * MODEL2_texOff(vec2(0,-1));
res += mat4(0.838348388671875,0.234645858407021,-1.160762310028076,-0.019887305796146,0.751348853111267,0.153496786952019,-0.214955046772957,-0.120203793048859,-0.584179222583771,-0.211947605013847,0.265858590602875,0.144982442259789,0.032292466610670,0.052117548882961,0.072960831224918,0.146965458989143) * MODEL2_texOff(vec2(0,0));
res += mat4(0.022017294541001,0.255914121866226,-0.267300009727478,0.411434948444366,0.329323202371597,-0.248479723930359,-0.245333626866341,0.336277306079865,0.551144421100616,-0.095476716756821,-0.367827981710434,-0.372236102819443,0.033086095005274,0.184582322835922,0.058788046240807,0.494283109903336) * MODEL2_texOff(vec2(0,1));
res += mat4(-0.247124463319778,-0.024867894127965,0.327659904956818,-0.062003970146179,-0.175529941916466,0.091289497911930,-0.036541175097227,-0.154220744967461,-0.071975864470005,-0.007936348207295,0.225665420293808,0.080268636345863,0.178330361843109,0.057902906090021,-0.158685609698296,0.038639299571514) * MODEL2_texOff(vec2(1,-1));
res += mat4(0.024904623627663,0.024336667731404,0.056043282151222,0.350545167922974,-0.173970818519592,-0.038869280368090,0.041066363453865,0.272983610630035,-0.323382943868637,0.034013312309980,-0.298661559820175,-0.370807260274887,0.074073009192944,0.029555555433035,0.054632715880871,0.077639475464821) * MODEL2_texOff(vec2(1,0));
res += mat4(0.155784606933594,0.064289130270481,0.090412937104702,-0.574879050254822,-0.078086145222187,0.065686479210854,0.149103507399559,0.065768480300903,-0.076863512396812,-0.012212449684739,0.100647330284119,-0.304232090711594,0.104492977261543,-0.000869740033522,-0.162307262420654,0.344876259565353) * MODEL2_texOff(vec2(1,1));
res += mat4(-0.011387130245566,-0.089746825397015,-0.156032413244247,0.123216710984707,0.065743520855904,-0.150735229253769,-0.221424669027328,-0.291156530380249,0.174988135695457,-0.161049127578735,-0.078766889870167,-0.057278435677290,-0.214003577828407,0.232900872826576,-0.085907578468323,-0.049860484898090) * MODEL3_texOff(vec2(-1,-1));
res += mat4(-0.209634453058243,-0.025730706751347,-0.227342903614044,-0.062948785722256,0.250220954418182,-0.305328428745270,-0.057141311466694,-0.277249038219452,-0.037155654281378,-0.387194365262985,-0.105045154690742,0.188348636031151,-0.129067346453667,-0.103382363915443,-0.024951452389359,-0.325622439384460) * MODEL3_texOff(vec2(-1,0));
res += mat4(-0.020194893702865,-0.089165404438972,-0.160695403814316,-0.075557902455330,0.051456779241562,-0.159516140818596,-0.021316284313798,-0.061539143323898,0.040303416550159,0.469014108181000,0.158643856644630,-0.080732077360153,-0.125413492321968,-0.348738163709641,-0.184489592909813,-0.023277278989553) * MODEL3_texOff(vec2(-1,1));
res += mat4(-0.174583882093430,-0.081268258392811,-0.306738257408142,0.003379195928574,0.345912754535675,0.187834173440933,0.111230447888374,-0.251467406749725,0.215108498930931,-0.133540630340576,-0.342752218246460,-0.103325538337231,0.357104837894440,-0.020512780174613,-0.514190971851349,-0.231863334774971) * MODEL3_texOff(vec2(0,-1));
res += mat4(-0.770717084407806,-0.082023002207279,0.024860577657819,-0.292476832866669,-0.001027630409226,-0.222993999719620,0.369947552680969,-1.033554792404175,-0.346118360757828,0.006418173201382,-0.543068647384644,-0.335475414991379,-0.337177664041519,0.173129633069038,0.111313439905643,-0.158375725150108) * MODEL3_texOff(vec2(0,0));
res += mat4(-0.059798385947943,-0.227688357234001,-0.170282304286957,-0.087735585868359,0.041870530694723,-0.165326699614525,-0.089187309145927,0.271572619676590,0.322073549032211,-0.001463755732402,0.191550493240356,-0.255539238452911,-0.023838561028242,-0.262293189764023,0.018057435750961,0.056614380329847) * MODEL3_texOff(vec2(0,1));
res += mat4(-0.301190227270126,-0.005248908419162,-0.326436012983322,-0.210410058498383,0.244976356625557,0.116134241223335,0.035238225013018,-0.023895557969809,0.011832836084068,-0.066038355231285,-0.026115188375115,0.019991213455796,0.259553790092468,0.139637693762779,-0.070289000868797,-0.045227680355310) * MODEL3_texOff(vec2(1,-1));
res += mat4(-1.242651581764221,-0.023512914776802,0.171703219413757,-0.892903685569763,0.161295160651207,0.036378715187311,-0.101752422749996,-0.819502055644989,0.268962085247040,-0.027426470071077,0.086067751049995,0.039741579443216,0.362472027540207,-0.456771790981293,-0.180759355425835,-0.202299863100052) * MODEL3_texOff(vec2(1,0));
res += mat4(-0.070583403110504,0.047855574637651,-0.058430336415768,-0.573833942413330,0.129514619708061,-0.040272664278746,0.034131038933992,-0.233508527278900,-0.049715545028448,0.100992396473885,0.048085168004036,-0.181306898593903,0.110373981297016,0.103102855384350,0.095252685248852,-0.083302974700928) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.018117772415280,-0.009846599772573,0.802269458770752,0.198560535907745) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(0.116221331059933,-0.053406313061714,0.009689307771623,0.121180646121502);
res += mat4(-0.031865540891886,-0.049537695944309,0.000045822489483,0.024690162390471,0.151904985308647,0.026690736413002,-0.014528017491102,-0.022580552846193,-0.020267061889172,0.133334591984749,-0.110312685370445,0.288703501224518,-0.180774524807930,-0.073919788002968,-0.090427756309509,0.442115426063538) * MODEL1_texOff(vec2(-1,-1));
res += mat4(-0.044395230710506,0.084272578358650,0.003738708095625,0.014197391457856,-0.027021689340472,0.094789840281010,-0.161466166377068,0.198488473892212,0.410094231367111,0.032553344964981,0.015471599064767,0.130085855722427,0.384108543395996,-0.199274405837059,0.188289985060692,0.009529732167721) * MODEL1_texOff(vec2(-1,0));
res += mat4(-0.038688089698553,0.106979414820671,0.051144715398550,0.022330883890390,-0.072045676410198,-0.044027674943209,0.005957412999123,-0.329910814762115,-0.438227564096451,-0.024708300828934,0.052323803305626,0.442762047052383,-0.107475489377975,-0.056375265121460,0.050832044333220,0.459659129381180) * MODEL1_texOff(vec2(-1,1));
res += mat4(-0.240272939205170,0.162323102355003,-0.133020311594009,-0.005171308293939,-0.017281882464886,0.102851271629333,-0.081585787236691,-0.011993439868093,-0.168264180421829,-0.170881822705269,0.113304615020752,0.195013970136642,0.069853745400906,-0.039287544786930,-0.145211175084114,0.136080980300903) * MODEL1_texOff(vec2(0,-1));
res += mat4(-0.179737046360970,0.404784679412842,-0.086381770670414,-0.872961103916168,0.228341773152351,-0.078220382332802,-0.161922425031662,1.012916564941406,0.166767030954361,0.306022226810455,-0.122184954583645,0.264231592416763,-0.044163797050714,-0.159129992127419,0.236131608486176,-0.107944868505001) * MODEL1_texOff(vec2(0,0));
res += mat4(0.000945304578636,0.020580975338817,-0.060854822397232,-0.346945017576218,-0.406633287668228,-0.548081278800964,-0.095306463539600,0.407170891761780,0.261870861053467,0.781540334224701,-0.376040041446686,0.152187839150429,-0.666132807731628,0.059015069156885,0.263215124607086,0.235895216464996) * MODEL1_texOff(vec2(0,1));
res += mat4(-0.683173239231110,0.226768463850021,0.065810196101665,0.041739471256733,0.311980992555618,0.100447036325932,0.097091600298882,-0.086140669882298,-0.093835711479187,0.001909338636324,0.175126805901527,-0.046017125248909,-0.178479850292206,-0.068266928195953,-0.133558541536331,0.044999811798334) * MODEL1_texOff(vec2(1,-1));
res += mat4(0.079344734549522,0.170101225376129,-0.071325697004795,-0.094031393527985,0.188831314444542,0.128835380077362,0.444189369678497,-0.457122176885605,0.195806041359901,0.066858552396297,0.766684114933014,-0.071706302464008,-0.150581017136574,-0.042193640023470,0.050903707742691,-0.022474721074104) * MODEL1_texOff(vec2(1,0));
res += mat4(0.055073309689760,-0.067825257778168,0.019851868972182,-0.094067320227623,-0.319473177194595,0.063886798918247,-0.018136614933610,0.001996735343710,0.264575690031052,-0.078167550265789,0.432429224252701,0.320182025432587,-0.172614827752113,0.010125924833119,0.003055385546759,0.196363836526871) * MODEL1_texOff(vec2(1,1));
res += mat4(0.030140154063702,0.026868423447013,-0.179717302322388,0.150121837854385,0.102239638566971,0.138662636280060,0.035204131156206,-0.170275777578354,0.095799498260021,0.149999767541885,0.109353706240654,-0.071101859211922,0.021880974993110,-0.063091449439526,-0.119045227766037,-0.135379329323769) * MODEL2_texOff(vec2(-1,-1));
res += mat4(-0.033687133342028,-0.083629012107849,0.144965350627899,0.295859903097153,0.095362760126591,-0.318036824464798,0.234053403139114,0.155658692121506,-0.060619857162237,-0.051620919257402,0.461859703063965,-0.063356593251228,-0.006529587320983,0.062110420316458,-0.102230727672577,-0.252985417842865) * MODEL2_texOff(vec2(-1,0));
res += mat4(-0.138376146554947,-0.187098339200020,0.262653917074203,-0.067716851830482,-0.003937119618058,0.058836307376623,-0.014467805624008,-0.161625787615776,-0.065826050937176,0.043392844498158,0.018679501488805,-0.138496458530426,0.015845660120249,-0.142199233174324,0.153508707880974,0.107920795679092) * MODEL2_texOff(vec2(-1,1));
res += mat4(-0.076193325221539,0.081468157470226,-0.020494760945439,0.211862877011299,0.176194518804550,-0.003071308135986,0.003892540931702,0.250811100006104,-0.188524827361107,-0.155851379036903,-0.182943120598793,0.268067181110382,-0.153298094868660,-0.224196270108223,0.092970743775368,-0.454547822475433) * MODEL2_texOff(vec2(0,-1));
res += mat4(0.401160359382629,0.475370526313782,-0.474775880575180,-0.430123329162598,0.084944099187851,-0.317364662885666,0.040138784796000,0.141253888607025,0.188552558422089,0.358597695827484,-0.215469732880592,-0.167285010218620,-0.084676027297974,0.105199366807938,-0.251044839620590,-0.241964533925056) * MODEL2_texOff(vec2(0,0));
res += mat4(0.063745729625225,-0.912694931030273,-0.016704119741917,0.217521950602531,-0.128258794546127,0.281874150037766,0.049851313233376,0.066418267786503,0.007714145816863,0.006748090032488,0.056043699383736,-0.049954947084188,-0.085437551140785,0.105591498315334,-0.378214865922928,-0.169505581259727) * MODEL2_texOff(vec2(0,1));
res += mat4(-0.037729267030954,-0.129779160022736,0.169908449053764,0.025326879695058,0.069552853703499,-0.236410528421402,-0.063560895621777,0.043273925781250,-0.257563948631287,-0.173000305891037,0.078357979655266,0.014702716842294,0.068853832781315,0.000417559989728,-0.246943295001984,0.006918451748788) * MODEL2_texOff(vec2(1,-1));
res += mat4(0.234966516494751,0.084801107645035,0.485353797674179,-0.247081667184830,0.203588679432869,0.111658796668053,0.589591920375824,-0.346010029315948,0.184002712368965,0.064693570137024,0.349398910999298,0.083207398653030,0.003138502361253,-0.225688308477402,0.296437054872513,-0.249983236193657) * MODEL2_texOff(vec2(1,0));
res += mat4(0.607810914516449,-0.483634024858475,0.003532449016348,-0.255665689706802,0.006994959898293,-0.091926828026772,-0.120478592813015,0.061323218047619,0.209102213382721,-0.138468816876411,-0.257787287235260,0.213568761944771,0.000048095327656,0.122866049408913,-0.291385978460312,-0.097024247050285) * MODEL2_texOff(vec2(1,1));
res += mat4(0.016135616227984,0.046190470457077,0.210862860083580,-0.252628892660141,0.057314448058605,0.167951226234436,0.179719999432564,-0.223383322358131,-0.078405775129795,-0.186065301299095,0.033156942576170,0.080643177032471,-0.017858045175672,0.042494036257267,0.000173209526110,-0.467810392379761) * MODEL3_texOff(vec2(-1,-1));
res += mat4(-0.113974347710609,0.039299663156271,0.275691211223602,-0.263961106538773,0.067214854061604,0.011364281177521,-0.127162009477615,0.158072024583817,0.030031457543373,0.112403050065041,-0.116732746362686,-0.374576598405838,-0.411875784397125,0.068956255912781,-0.122258812189102,-0.325220018625259) * MODEL3_texOff(vec2(-1,0));
res += mat4(-0.045859254896641,0.016236245632172,0.183168500661850,-0.147969722747803,0.261961489915848,0.115084327757359,-0.493629097938538,-0.162670671939850,-0.024831661954522,-0.059223156422377,-0.014969941228628,-0.282577395439148,-0.078242361545563,0.151078581809998,-0.154922410845757,-0.347949862480164) * MODEL3_texOff(vec2(-1,1));
res += mat4(0.201497539877892,0.307945072650909,-0.035563834011555,0.012404297478497,0.173466205596924,-0.129225045442581,0.344843387603760,0.100664213299751,-0.191593393683434,0.055682267993689,-0.052845716476440,0.092017106711864,-0.122228287160397,-0.094487875699997,-0.160897865891457,-0.141062319278717) * MODEL3_texOff(vec2(0,-1));
res += mat4(-0.002571612829342,-0.201719284057617,0.241853609681129,-0.241944238543510,-0.195682287216187,0.144835591316223,0.347614973783493,0.183305650949478,0.450008690357208,0.068491376936436,0.153078705072403,-0.469785779714584,-0.988359034061432,-0.488014757633209,-0.647613704204559,-0.862254023551941) * MODEL3_texOff(vec2(0,0));
res += mat4(0.021450363099575,0.126123085618019,0.212375923991203,0.031811662018299,0.243403449654579,-0.200486212968826,-0.009730897843838,0.954690575599670,0.753919124603271,-0.242819190025330,0.157964766025543,-0.144260749220848,0.034943856298923,0.183106839656830,0.056263819336891,-0.215751335024834) * MODEL3_texOff(vec2(0,1));
res += mat4(0.178838685154915,0.048733711242676,-0.154690369963646,0.041915915906429,-0.015576521866024,0.030302025377750,-0.056664742529392,-0.193314656615257,-0.012776528485119,-0.108298704028130,0.020885657519102,0.045991685241461,-0.111652247607708,0.071556501090527,-0.015469711273909,0.123897619545460) * MODEL3_texOff(vec2(1,-1));
res += mat4(0.004121998324990,-0.046384360641241,-0.507589578628540,-0.138901472091675,0.135170117020607,0.085595764219761,-0.330423980951309,-0.161981239914894,0.075934313237667,0.193328589200974,-0.094187766313553,0.066389061510563,0.038399990648031,0.219092845916748,-0.400761544704437,-0.146188572049141) * MODEL3_texOff(vec2(1,0));
res += mat4(-0.193642660975456,0.016922658309340,-0.028035080060363,-0.018359275534749,-0.482970714569092,-0.113390035927296,-0.339937508106232,0.100906029343605,0.189509153366089,-0.017645627260208,-0.140014588832855,-0.009819569997489,-0.062030408531427,0.061540983617306,-0.398281842470169,-0.089786842465401) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.125708088278770,-0.787798345088959,-0.107343934476376,0.123022772371769) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 3.200 * > OUTPUT.h LUMA.h 3.200 * > *
//!COMPONENTS 4
//!BIND MODEL4
//!BIND MODEL5
//!BIND MODEL6
//!SAVE MODEL1
//!DESC [AiUpscale_Fast_4x_LineArt_RT] mapping 3_1

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(0.011987754143775,-0.018241506069899,-0.231909364461899,0.177177309989929);
res += mat4(-0.107974581420422,-0.041866187006235,-0.116233855485916,-0.025551393628120,-0.013928304426372,-0.071489825844765,0.008510246872902,-0.022944049909711,-0.352718025445938,0.046861127018929,-0.127525478601456,-0.044841766357422,-0.140921160578728,-0.029220815747976,-0.129155293107033,-0.111954264342785) * MODEL4_texOff(vec2(-1,-1));
res += mat4(-0.161343038082123,0.168097406625748,0.086414441466331,-0.099275313317776,0.017083775252104,-0.091680489480495,0.140190809965134,-0.100374914705753,-0.184307485818863,0.005042589735240,-0.074448846280575,0.153828263282776,0.443149596452713,-0.127185821533203,0.107858784496784,-0.152208507061005) * MODEL4_texOff(vec2(-1,0));
res += mat4(0.060238894075155,-0.208967804908752,-0.118629924952984,0.074939981102943,0.015823964029551,-0.021267911419272,0.092932119965553,-0.067002847790718,-0.006044525187463,0.038988698273897,-0.144685670733452,0.129160121083260,-0.107876233756542,-0.117095001041889,-0.032412614673376,0.144120141863823) * MODEL4_texOff(vec2(-1,1));
res += mat4(-0.176038965582848,-0.173571333289146,-0.388061285018921,0.003672637743875,-0.022826531901956,-0.107262305915356,-0.014005409553647,0.112200155854225,0.044656809419394,-0.024181313812733,0.114576019346714,-0.071494415402412,0.255311250686646,0.091331452131271,0.243908524513245,0.060711987316608) * MODEL4_texOff(vec2(0,-1));
res += mat4(0.117192432284355,-0.085235364735126,0.807848751544952,-0.770961761474609,0.125414088368416,0.222291573882103,-0.190586015582085,-0.307388871908188,-0.337018698453903,-0.277854859828949,0.639944970607758,-0.044163819402456,-0.551768839359283,-0.159135878086090,-0.251002669334412,-0.299925625324249) * MODEL4_texOff(vec2(0,0));
res += mat4(0.032745968550444,-0.251903086900711,-0.224084094166756,0.284872740507126,-0.292148560285568,0.055778365582228,0.009143622592092,-0.219962254166603,-0.122777812182903,-0.085269309580326,-0.023974193260074,0.120404392480850,0.373556941747665,-0.312785923480988,-0.018520502373576,0.189454898238182) * MODEL4_texOff(vec2(0,1));
res += mat4(-0.032297447323799,-0.054794222116470,-0.197313845157623,0.152728065848351,-0.040271364152431,-0.026589773595333,0.017903372645378,-0.056752093136311,-0.181206092238426,-0.229390099644661,-0.348173290491104,0.080523677170277,0.166743561625481,-0.047429598867893,0.197869196534157,-0.081490732729435) * MODEL4_texOff(vec2(1,-1));
res += mat4(-0.007796474732459,0.015368398278952,-0.191960260272026,0.326718717813492,0.042856641113758,0.419829487800598,0.375602751970291,-0.474847614765167,-0.036505427211523,-0.095458880066872,-0.133880123496056,0.183534085750580,-0.029084689915180,-0.240251988172531,-0.318878978490829,0.107473403215408) * MODEL4_texOff(vec2(1,0));
res += mat4(0.145382434129715,-0.221147656440735,-0.139325276017189,0.221706032752991,0.037974435836077,0.234405592083931,0.343494921922684,-0.239318102598190,0.221342757344246,-0.022073557600379,0.068239547312260,-0.139670178294182,-0.152050837874413,-0.158588424324989,0.093778818845749,-0.031002534553409) * MODEL4_texOff(vec2(1,1));
res += mat4(0.226422652602196,0.039699662476778,0.101282700896263,0.058737613260746,-0.250584781169891,0.030343148857355,-0.028330152854323,-0.015258778817952,-0.033594045788050,-0.082204394042492,-0.142163515090942,0.046995230019093,0.050541859120131,-0.009183896705508,0.228200137615204,-0.139693677425385) * MODEL5_texOff(vec2(-1,-1));
res += mat4(-0.005542795173824,-0.145924717187881,-0.038705419749022,0.258671134710312,0.126186877489090,-0.101489201188087,0.021998500451446,-0.017768694087863,0.406850695610046,0.068489700555801,0.156177192926407,-0.580912947654724,-0.426765084266663,-0.074427165091038,0.056613747030497,-0.442833900451660) * MODEL5_texOff(vec2(-1,0));
res += mat4(-0.119574740529060,-0.041263412684202,0.212397471070290,-0.052746482193470,0.125083148479462,0.023521158844233,0.118693515658379,-0.127650305628777,0.080280803143978,0.019769376143813,0.036178201436996,-0.437447309494019,-0.924898982048035,0.131970092654228,-0.204794555902481,-0.085516683757305) * MODEL5_texOff(vec2(-1,1));
res += mat4(-0.028528157621622,0.102120511233807,-0.077470771968365,0.125623136758804,-0.108330093324184,-0.249231502413750,0.047141175717115,-0.201422765851021,0.041400305926800,-0.191145360469818,-0.127018406987190,-0.365307182073593,-0.310686647891998,-0.097637347877026,-0.189170613884926,-0.552667081356049) * MODEL5_texOff(vec2(0,-1));
res += mat4(0.060368862003088,0.220346704125404,-0.445071458816528,0.343327969312668,-0.214582026004791,0.682485103607178,-0.263967424631119,-0.279775321483612,-0.039247974753380,0.154476389288902,0.541793465614319,-0.221683815121651,-0.576186239719391,0.455039203166962,-0.014943003654480,-0.183318778872490) * MODEL5_texOff(vec2(0,0));
res += mat4(-0.070938162505627,-0.059070877730846,-0.221348434686661,0.125572189688683,-0.041888616979122,-0.041926279664040,0.110009975731373,0.096274085342884,-0.029298137873411,0.209290891885757,0.362695425748825,-0.371080935001373,-0.631497979164124,0.036211464554071,0.194004029035568,-0.444329291582108) * MODEL5_texOff(vec2(0,1));
res += mat4(-0.001816500443965,0.164426997303963,0.058331381529570,-0.042703244835138,0.117638364434242,-0.252188891172409,-0.199840486049652,0.023212062194943,0.077538534998894,-0.202806308865547,-0.125541865825653,-0.196413367986679,-0.209126740694046,0.396979212760925,0.405772387981415,-0.340994834899902) * MODEL5_texOff(vec2(1,-1));
res += mat4(-0.107299305498600,0.357380062341690,-0.169881507754326,0.181244716048241,-0.028326313942671,-0.258579760789871,-0.546268105506897,0.599902510643005,-0.074624359607697,0.065236024558544,0.286116927862167,-0.154761791229248,-0.316518843173981,0.172241121530533,0.074399128556252,-0.131730541586876) * MODEL5_texOff(vec2(1,0));
res += mat4(0.158446729183197,0.075154639780521,0.028728103265166,0.006540635135025,-0.145700529217720,-0.028295736759901,0.019249947741628,0.088737964630127,0.031912963837385,0.097947694361210,0.358611047267914,-0.459878087043762,0.126352757215500,-0.169360324740410,-0.190982609987259,0.226699575781822) * MODEL5_texOff(vec2(1,1));
res += mat4(-0.063570596277714,0.121524818241596,0.013240718282759,0.108490452170372,0.220656767487526,-0.021149398759007,-0.071174107491970,0.181503653526306,-0.111184239387512,-0.030849909409881,0.028878256678581,-0.049508221447468,0.532412648200989,-0.068194858729839,0.265504598617554,0.264927238225937) * MODEL6_texOff(vec2(-1,-1));
res += mat4(-0.611057758331299,0.114046022295952,-0.080582097172737,0.548135638237000,0.279171079397202,-0.064427331089973,0.007571438327432,0.089485824108124,0.265540510416031,-0.045220714062452,0.106441453099251,-0.050350580364466,0.464161932468414,-0.060573000460863,0.248378753662109,-0.432604938745499) * MODEL6_texOff(vec2(-1,0));
res += mat4(0.126069501042366,0.189834490418434,-0.009610089473426,0.568673312664032,0.205809324979782,-0.091362476348877,0.031056407839060,0.007105171214789,0.027378775179386,-0.043828658759594,0.087774485349655,0.041638754308224,0.165996313095093,0.068215049803257,0.220130965113640,-0.271186709403992) * MODEL6_texOff(vec2(-1,1));
res += mat4(-0.157224893569946,0.269731491804123,0.592106819152832,0.232727468013763,0.119409762322903,-0.000652112998068,-0.083656273782253,-0.165193200111389,0.037910088896751,-0.062948219478130,-0.045962858945131,-0.038022857159376,0.400539904832840,0.155304893851280,-0.078060746192932,-0.196644604206085) * MODEL6_texOff(vec2(0,-1));
res += mat4(0.215815737843513,0.233607500791550,0.757676601409912,-0.344125330448151,0.337498843669891,0.156226485967636,0.026836406439543,0.086845919489861,-0.392988234758377,0.039550293236971,-0.521992862224579,0.236925557255745,0.533196330070496,0.078205876052380,0.269736528396606,0.100686050951481) * MODEL6_texOff(vec2(0,0));
res += mat4(-0.424751162528992,0.363975912332535,0.804153025150299,0.009539634920657,0.219046115875244,0.085722304880619,-0.183151707053185,0.165292233228683,-0.111262351274490,-0.113077305257320,0.118249207735062,0.032747838646173,0.094217076897621,0.035852599889040,-0.062075506895781,0.047715228050947) * MODEL6_texOff(vec2(0,1));
res += mat4(-0.125390514731407,0.328147619962692,0.357168585062027,0.177922144532204,0.076946295797825,-0.060417477041483,-0.130182012915611,0.000197691755602,0.001900106552057,0.009553705342114,-0.058329854160547,-0.048020448535681,0.113776028156281,0.374629378318787,0.494350492954254,-0.219973906874657) * MODEL6_texOff(vec2(1,-1));
res += mat4(-0.135355189442635,0.188689768314362,0.605844795703888,-0.152019456028938,0.067912511527538,0.122193880379200,0.118486374616623,0.057365413755178,-0.105154164135456,-0.085807606577873,-0.382872492074966,0.099908769130707,0.228775069117546,0.116747818887234,0.039814960211515,0.050856161862612) * MODEL6_texOff(vec2(1,0));
res += mat4(-0.123051092028618,0.233727872371674,0.768030643463135,-0.152450457215309,-0.094621971249580,-0.017388749867678,-0.038951490074396,0.008368800394237,-0.025206005200744,-0.034640349447727,0.124425478279591,-0.250522345304489,0.148530572652817,-0.026283919811249,-0.002021803054959,0.338011771440506) * MODEL6_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.139955341815948,0.766769111156464,0.086737073957920,0.266694694757462) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(0.058647569268942,0.085159614682198,0.358521521091461,0.093670569360256);
res += mat4(-0.028650686144829,-0.168717280030251,0.073737837374210,-0.156297862529755,-0.060507994145155,0.212786585092545,-0.007461090106517,0.080234386026859,-0.062945879995823,0.036683309823275,-0.173943772912025,0.217222303152084,-0.029254535213113,0.107172660529613,-0.062802158296108,0.158169135451317) * MODEL4_texOff(vec2(-1,-1));
res += mat4(-0.004020341672003,-0.458443969488144,0.298361420631409,-1.002550005912781,0.069349162280560,0.325488805770874,-0.112258732318878,0.363871455192566,-0.216234192252159,0.317715317010880,-0.011767102405429,-0.372956901788712,-0.089869648218155,0.284289926290512,-0.241477772593498,0.381795912981033) * MODEL4_texOff(vec2(-1,0));
res += mat4(0.044165831059217,0.318016439676285,0.021527620032430,-0.027657452970743,-0.337985754013062,-0.192535415291786,0.004386884626001,0.048779923468828,0.039022922515869,-0.492898434400558,0.263619750738144,-0.080357275903225,-0.570220232009888,0.053845591843128,-0.145866617560387,0.115345112979412) * MODEL4_texOff(vec2(-1,1));
res += mat4(-0.119281284511089,-0.223630502820015,0.170665919780731,0.013256141915917,-0.064343288540840,0.401513725519180,-0.039273966103792,-0.385210901498795,0.008727600798011,0.129770517349243,-0.111226089298725,0.027598097920418,0.162977665662766,0.150982305407524,-0.249268203973770,0.036700971424580) * MODEL4_texOff(vec2(0,-1));
res += mat4(-0.156712859869003,-0.019651371985674,0.057133682072163,-0.045791745185852,-0.142534673213959,0.747103929519653,-0.117256216704845,-0.534761846065521,-0.318755447864532,-0.128001764416695,-0.106713458895683,-0.027979040518403,0.241218909621239,-0.641274869441986,-0.196085467934608,-0.157531470060349) * MODEL4_texOff(vec2(0,0));
res += mat4(0.279125422239304,-0.114481352269650,0.510634541511536,0.230709612369537,-0.250743448734283,-0.488868772983551,-0.030244300141931,-0.273169428110123,0.959656298160553,0.070612289011478,0.190242901444435,0.274714261293411,-0.128121957182884,0.055795572698116,0.064200147986412,0.115872263908386) * MODEL4_texOff(vec2(0,1));
res += mat4(-0.178511455655098,-0.078588485717773,0.040335323661566,0.086544476449490,0.150779113173485,0.158062204718590,0.035595417022705,0.050018996000290,-0.010411851108074,0.073394067585468,0.137498915195465,0.000865446461830,0.082754611968994,-0.022364662960172,-0.139257282018661,0.188321024179459) * MODEL4_texOff(vec2(1,-1));
res += mat4(-0.003963346593082,-0.081634283065796,0.203210696578026,0.032249983400106,0.079662002623081,0.129556089639664,-0.160193875432014,0.222112938761711,0.084052167832851,-0.200702652335167,0.105516120791435,0.098742403090000,0.014467104338109,-0.027857115492225,-0.011362162418664,0.449066430330276) * MODEL4_texOff(vec2(1,0));
res += mat4(0.020714839920402,0.000126744809677,0.129344806075096,0.095899581909180,-0.038738775998354,-0.050074413418770,-0.038773257285357,-0.052857469767332,-0.092080757021904,0.065942309796810,0.094739742577076,-0.096114858984947,0.153426527976990,-0.043240081518888,-0.160894304513931,0.160621255636215) * MODEL4_texOff(vec2(1,1));
res += mat4(0.127167239785194,0.002455695299432,-0.116017721593380,0.269646197557449,0.088988237082958,-0.192398503422737,0.001794427284040,0.035636257380247,-0.214132860302925,-0.033326178789139,0.154174253344536,0.149528369307518,-0.135985955595970,-0.079794242978096,0.071931883692741,-0.234458267688751) * MODEL5_texOff(vec2(-1,-1));
res += mat4(0.095142580568790,0.017936952412128,-0.044714622199535,0.387928575277328,-0.036292169243097,-0.093045875430107,0.361388415098190,0.164476498961449,0.179759189486504,0.213565111160278,-0.393394201993942,0.328593581914902,-0.262584745883942,-0.272407323122025,0.319782078266144,-0.107284888625145) * MODEL5_texOff(vec2(-1,0));
res += mat4(-0.037273358553648,0.133787333965302,-0.452200621366501,0.061065819114447,0.107458114624023,0.009336159564555,0.084763452410698,0.163005828857422,-0.115206740796566,0.026501843705773,-0.126716718077660,0.130773380398750,-0.263274520635605,0.191991612315178,0.008011911995709,-0.038874782621861) * MODEL5_texOff(vec2(-1,1));
res += mat4(0.320215702056885,0.225259602069855,-0.213816717267036,-0.180129289627075,0.078713223338127,-0.073147721588612,0.185433417558670,0.121935710310936,0.003663426497951,-1.019689202308655,-0.284242093563080,0.495045661926270,0.225047305226326,-0.175380513072014,0.259547859430313,0.247969478368759) * MODEL5_texOff(vec2(0,-1));
res += mat4(0.111616045236588,-0.637513399124146,0.456445962190628,-0.686362564563751,-0.249277323484421,-0.348797172307968,-0.145191267132759,-0.324693143367767,-0.308443009853363,0.477824747562408,-1.185827136039734,-0.105923868715763,-0.154145359992981,-0.283386558294296,-0.120732732117176,0.002823693212122) * MODEL5_texOff(vec2(0,0));
res += mat4(0.551416099071503,0.178764179348946,0.079661235213280,0.202135249972343,-0.077089346945286,-0.008743017911911,-0.487871080636978,-0.155854597687721,0.212858095765114,0.002107151085511,0.565078139305115,0.069382809102535,-0.624449074268341,0.506942033767700,0.239887520670891,-0.155883684754372) * MODEL5_texOff(vec2(0,1));
res += mat4(0.087981946766376,0.136935025453568,-0.334483534097672,0.028185082599521,0.101268984377384,0.056628987193108,0.065742418169975,0.003520672675222,-0.128403127193451,0.061930451542139,-0.155624359846115,-0.177031561732292,-0.067131645977497,0.224655747413635,0.187798887491226,-0.293776214122772) * MODEL5_texOff(vec2(1,-1));
res += mat4(0.064014486968517,0.210209831595421,0.028131559491158,0.651169598102570,0.078788317739964,-0.036019455641508,-0.246139988303185,-0.199789389967918,-0.089912332594395,0.113223835825920,0.081021524965763,-0.014837869442999,-0.181731358170509,0.146673142910004,-0.091422550380230,-0.013778610154986) * MODEL5_texOff(vec2(1,0));
res += mat4(0.167348697781563,-0.150830537080765,-0.152442932128906,0.225346893072128,-0.059606328606606,-0.074012584984303,0.256511539220810,-0.127240315079689,0.001560218166560,-0.106366939842701,-0.015914423391223,-0.136642873287201,0.088558897376060,0.022679720073938,-0.070128895342350,0.347346305847168) * MODEL5_texOff(vec2(1,1));
res += mat4(-0.000935236166697,-0.094531595706940,0.134660840034485,-0.346565723419189,0.222928956151009,0.382865160703659,-0.283888548612595,0.052786108106375,-0.210467919707298,-0.331553876399994,-0.148668959736824,0.433209687471390,0.155783981084824,-0.211218535900116,-0.046294964849949,-0.011911110021174) * MODEL6_texOff(vec2(-1,-1));
res += mat4(0.013577063567936,-0.571848869323730,0.300915479660034,-0.501199364662170,0.249305218458176,0.353828042745590,-0.668434560298920,0.051375936716795,-0.177761450409889,0.167466551065445,0.114805154502392,-0.019156970083714,0.096481673419476,-0.222974598407745,0.224175646901131,-0.409626245498657) * MODEL6_texOff(vec2(-1,0));
res += mat4(0.259048432111740,0.065714925527573,-0.002819759538397,0.083279088139534,0.269193261861801,-0.128738313913345,-0.120865248143673,0.089930020272732,0.171778142452240,-0.198636800050735,-0.152354404330254,-0.137902826070786,0.482135891914368,0.318701595067978,0.175665676593781,0.124020725488663) * MODEL6_texOff(vec2(-1,1));
res += mat4(-0.161042705178261,-0.135872334241867,0.133624136447906,-0.038347918540239,0.204682737588882,0.384964138269424,-0.635433495044708,0.169734939932823,-0.098071202635765,-0.136353448033333,-0.028331335633993,-0.363834917545319,0.098102338612080,0.176874384284019,0.283112823963165,-0.499496638774872) * MODEL6_texOff(vec2(0,-1));
res += mat4(0.341460555791855,-0.447755336761475,0.219116464257240,-0.437415301799774,-0.009904747828841,0.249822169542313,-0.879577398300171,-0.017280140891671,-0.653922855854034,0.460290431976318,0.232341259717941,-0.675088822841644,-0.280649423599243,-0.179411321878433,0.515666246414185,-0.452389270067215) * MODEL6_texOff(vec2(0,0));
res += mat4(0.016067093238235,0.071559995412827,-0.023010078817606,0.231231302022934,0.355824947357178,-0.420637398958206,-0.153220608830452,0.196764722466469,0.145062163472176,-0.121972955763340,-0.069179184734821,-0.170782729983330,0.327730447053909,-0.527752876281738,-0.191115289926529,-0.282244086265564) * MODEL6_texOff(vec2(0,1));
res += mat4(0.008846554905176,-0.038445852696896,0.026420379057527,0.017159735783935,0.069826744496822,0.124742470681667,-0.363144516944885,0.015305214561522,-0.129705175757408,0.102143235504627,0.065242968499660,0.042561173439026,0.079014919698238,0.091322332620621,0.243414774537086,0.190487936139107) * MODEL6_texOff(vec2(1,-1));
res += mat4(0.056667607277632,0.046016670763493,0.075753301382065,0.015004025772214,0.095784366130829,0.143354684114456,-0.147269919514656,0.049542933702469,0.175864338874817,-0.033627800643444,-0.051888667047024,0.326917856931686,-0.025650298222899,0.045007109642029,0.006898998748511,0.044821314513683) * MODEL6_texOff(vec2(1,0));
res += mat4(0.080042049288750,-0.218527540564537,0.020767873153090,0.037708841264248,-0.023017395287752,-0.140964061021805,-0.007308957166970,-0.198139384388924,-0.029969181865454,0.333319067955017,-0.066859446465969,-0.012514572590590,-0.166551887989044,0.265045791864395,-0.100355677306652,-0.197147458791733) * MODEL6_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.439126700162888,0.039803460240364,0.176116973161697,-0.013213554397225) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 3.200 * > OUTPUT.h LUMA.h 3.200 * > *
//!COMPONENTS 4
//!BIND MODEL4
//!BIND MODEL5
//!BIND MODEL6
//!SAVE MODEL2
//!DESC [AiUpscale_Fast_4x_LineArt_RT] mapping 3_2

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(-0.327230900526047,-0.142181426286697,-0.127893388271332,0.011359306983650);
res += mat4(-0.293345719575882,0.068927504122257,-0.180837914347649,0.009645579382777,-0.078094735741615,-0.007240288890898,0.017688315361738,-0.070284016430378,-0.120546221733093,0.072794526815414,-0.068240419030190,-0.017768295481801,0.034584540873766,0.170441836118698,0.043174680322409,0.036842349916697) * MODEL4_texOff(vec2(-1,-1));
res += mat4(-0.118080869317055,-0.125475883483887,0.363588839769363,0.261098802089691,0.176970109343529,-0.102699443697929,0.079074315726757,0.070318996906281,0.042630292475224,-0.101242363452911,0.119071424007416,0.046076104044914,0.075470142066479,0.085890948772430,-0.090235508978367,0.125357702374458) * MODEL4_texOff(vec2(-1,0));
res += mat4(-0.136157080531120,0.145599767565727,-0.138441622257233,-0.013472075574100,-0.016188757494092,-0.040942057967186,-0.271543174982071,0.049039792269468,-0.191321164369583,0.052506387233734,-0.133375942707062,-0.080701880156994,0.005566930398345,0.161317422986031,-0.008748494088650,0.063867770135403) * MODEL4_texOff(vec2(-1,1));
res += mat4(-0.355876445770264,0.190909847617149,0.199715018272400,-0.163805946707726,0.016004588454962,-0.022364404052496,-0.040242191404104,-0.038626227527857,0.130924671888351,0.258060991764069,-0.052579060196877,0.124585650861263,0.329225689172745,-0.140366435050964,0.025419047102332,0.100623570382595) * MODEL4_texOff(vec2(0,-1));
res += mat4(0.578777372837067,-0.338676601648331,0.490066200494766,-0.303323328495026,-0.072690993547440,0.315787702798843,-0.141126513481140,0.124221757054329,0.507464051246643,-0.337456524372101,0.258346855640411,0.171337410807610,-0.784854173660278,-1.444775581359863,0.211047753691673,-0.252737998962402) * MODEL4_texOff(vec2(0,0));
res += mat4(-0.387151449918747,-0.288118660449982,-0.367307662963867,0.002706984756514,0.196036949753761,-0.326873958110809,0.215460494160652,0.023483613505960,-0.121982693672180,0.148109525442123,-0.069433592259884,0.024710258468986,0.022671775892377,0.039950419217348,-0.295466840267181,0.127012550830841) * MODEL4_texOff(vec2(0,1));
res += mat4(-0.046939890831709,-0.014179250225425,-0.019910080358386,0.025116698816419,0.025655258446932,-0.199077010154724,-0.060728952288628,-0.045412629842758,-0.177234351634979,-0.136584311723709,0.058120582252741,-0.168131157755852,0.193774238228798,0.174532413482666,-0.004446122795343,-0.332349091768265) * MODEL4_texOff(vec2(1,-1));
res += mat4(-0.104165352880955,0.044587329030037,0.051588054746389,-0.075464993715286,-0.153873071074486,0.106255501508713,-0.108197487890720,-0.783888220787048,-0.353421747684479,-0.192714720964432,-0.024691775441170,0.008402155712247,0.045347593724728,0.020954463630915,0.021484959870577,-0.026663109660149) * MODEL4_texOff(vec2(1,0));
res += mat4(-0.023892829194665,0.084153294563293,-0.072597384452820,0.043310657143593,0.068722188472748,-0.098353520035744,0.113818354904652,-0.256260186433792,-0.262645781040192,0.159931391477585,-0.022348947823048,-0.093807511031628,-0.021098151803017,0.011000390164554,-0.086369924247265,-0.245142027735710) * MODEL4_texOff(vec2(1,1));
res += mat4(-0.046704526990652,0.060453854501247,0.005418079905212,0.102852672338486,-0.021204318851233,0.004431680310518,-0.129117056727409,-0.067633971571922,-0.130624935030937,0.118094556033611,-0.417201906442642,0.317384719848633,0.218827947974205,0.188445433974266,0.096916362643242,0.443193525075912) * MODEL5_texOff(vec2(-1,-1));
res += mat4(-0.107905253767967,0.012795011512935,-0.103574275970459,0.244912698864937,0.013982453383505,-0.012784638442099,0.070175945758820,0.094303242862225,-0.167234450578690,-0.233183279633522,-0.015835421159863,0.450259685516357,-0.044176485389471,-0.019974181428552,-0.507551789283752,0.305308848619461) * MODEL5_texOff(vec2(-1,0));
res += mat4(0.101092115044594,0.004190600011498,0.241905480623245,0.015697704628110,0.038191549479961,0.022203970700502,-0.019746871665120,0.066341504454613,0.075459606945515,-0.092506587505341,0.400560110807419,0.299666255712509,-0.106586642563343,-0.151776254177094,0.355212032794952,-0.206396237015724) * MODEL5_texOff(vec2(-1,1));
res += mat4(-0.034559816122055,-0.174188375473022,-0.235614120960236,-0.111472912132740,0.058314949274063,0.060886833816767,-0.569772064685822,-0.016533821821213,0.080125547945499,0.500552296638489,-0.213025331497192,-0.424296557903290,0.190151914954185,0.388389289379120,-0.253965288400650,-0.229649752378464) * MODEL5_texOff(vec2(0,-1));
res += mat4(-0.127327859401703,0.052441511303186,0.512219667434692,-0.239253818988800,-0.535486936569214,-0.416423857212067,0.411069244146347,-0.363755553960800,-0.144190698862076,-0.772259116172791,-0.063205145299435,-0.535228312015533,-0.116768285632133,-0.459605127573013,0.179355189204216,-0.447353363037109) * MODEL5_texOff(vec2(0,0));
res += mat4(-0.042464107275009,-0.289178580045700,-0.179264008998871,-0.078266538679600,0.151100069284439,0.228072166442871,0.099213406443596,-0.061108242720366,0.142118573188782,0.018835591152310,0.352473616600037,-0.140632405877113,0.022528372704983,-0.058364622294903,0.086164563894272,0.246264457702637) * MODEL5_texOff(vec2(0,1));
res += mat4(-0.159551545977592,0.048255093395710,-0.122004978358746,0.169265553355217,0.150022208690643,0.101042002439499,-0.171424537897110,0.218714773654938,-0.164349138736725,-0.074241168797016,-0.711928665637970,-0.388288557529449,-0.111722894012928,-0.242501169443130,0.011517502367496,-0.048147279769182) * MODEL5_texOff(vec2(1,-1));
res += mat4(-0.282375067472458,-0.253310918807983,0.212520867586136,0.012002902105451,-0.066565312445164,-0.146968752145767,0.002473950618878,0.525300920009613,0.476454913616180,0.242721840739250,-0.022010294720531,-0.005908275954425,0.169115662574768,0.427970886230469,0.263311982154846,-0.247984498739243) * MODEL5_texOff(vec2(1,0));
res += mat4(-0.228500247001648,-0.116081334650517,0.031665779650211,0.130765527486801,0.090022586286068,0.112192571163177,0.042693544179201,0.175866037607193,0.381309568881989,-0.120484396815300,0.327109694480896,-0.110213503241539,0.225861027836800,-0.052181236445904,0.018030207604170,0.009918157942593) * MODEL5_texOff(vec2(1,1));
res += mat4(0.382811337709427,0.196221679449081,0.065074779093266,0.351103574037552,-0.088477954268456,-0.116285905241966,-0.134232506155968,-0.018464973196387,0.047386761754751,-0.033760011196136,0.073302872478962,-0.027419276535511,0.287563264369965,0.226359874010086,0.085740603506565,0.250112682580948) * MODEL6_texOff(vec2(-1,-1));
res += mat4(0.626507163047791,0.176084071397781,0.273592233657837,0.119343973696232,-0.067520089447498,-0.346945226192474,-0.097748674452305,0.378412425518036,0.116870962083340,0.119487009942532,0.038844980299473,-0.035707090049982,0.391253441572189,-0.334425210952759,-0.239368528127670,0.359958708286285) * MODEL6_texOff(vec2(-1,0));
res += mat4(0.453651636838913,-0.401655584573746,0.238062560558319,0.161977067589760,-0.046380419284105,-0.012356704100966,0.242141485214233,0.000351251277607,0.111876696348190,0.245730116963387,-0.240769281983376,0.145787745714188,0.217008456587791,-0.130113691091537,0.323968350887299,0.220872595906258) * MODEL6_texOff(vec2(-1,1));
res += mat4(0.616126239299774,0.093300357460976,-0.647886157035828,0.221949025988579,-0.237842962145805,-0.086194746196270,-0.444767802953720,0.046437315642834,-0.024052189663053,-0.034596905112267,0.009510955773294,-0.100316442549229,0.379212141036987,0.321388840675354,0.090434752404690,-0.121374391019344) * MODEL6_texOff(vec2(0,-1));
res += mat4(0.710075259208679,0.245995268225670,-0.332023292779922,0.279396742582321,-0.421296089887619,-0.318782240152359,-0.227599769830704,-0.171573564410210,-0.984867632389069,-0.379681080579758,0.543442785739899,-0.192341625690460,0.191532388329506,-0.065069407224655,0.134293317794800,0.007963255047798) * MODEL6_texOff(vec2(0,0));
res += mat4(0.913231611251831,-0.336276084184647,0.645090937614441,0.088454261422157,-0.305489927530289,-0.344495236873627,0.411293119192123,0.073210246860981,0.068884521722794,0.667365849018097,-0.287884026765823,-0.046869464218616,0.017702667042613,-0.206377238035202,0.015484861098230,0.008278422057629) * MODEL6_texOff(vec2(0,1));
res += mat4(0.228550881147385,0.401230037212372,0.375201523303986,0.040599480271339,-0.137274518609047,0.055449381470680,-0.261974662542343,0.011802990920842,-0.045152880251408,-0.187977805733681,0.054930757731199,-0.002675662748516,0.148440524935722,0.080396547913551,-0.135703220963478,-0.410927474498749) * MODEL6_texOff(vec2(1,-1));
res += mat4(0.640493690967560,-0.014218180440366,0.000136289207148,-0.536833405494690,0.027369139716029,-0.164032742381096,-0.485786408185959,-0.254889667034149,-0.267062008380890,-0.074092358350754,0.187517806887627,0.131920024752617,-0.119959637522697,-0.051519617438316,-0.069741316139698,-0.502517104148865) * MODEL6_texOff(vec2(1,0));
res += mat4(0.682506382465363,0.486312508583069,0.341603606939316,-0.010437044315040,-0.166969388723373,-0.038142908364534,0.253514498472214,-0.175501659512520,-0.061972837895155,0.277299731969833,0.097510725259781,-0.032071795314550,-0.008932780474424,-0.103076845407486,0.033138707280159,0.064829871058464) * MODEL6_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.070965759456158,0.146495372056961,0.109132491052151,-0.061513025313616) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(-0.040092743933201,-0.121439740061760,0.037785980850458,0.030076405033469);
res += mat4(-0.094273358583450,0.165956765413284,0.028034932911396,0.139496907591820,-0.031426005065441,0.116094663739204,0.132700130343437,-0.016851805150509,0.119349092245102,0.091964177787304,0.069094009697437,-0.142530754208565,0.198493376374245,-0.117136955261230,0.114265203475952,0.046964742243290) * MODEL4_texOff(vec2(-1,-1));
res += mat4(-0.109277568757534,0.204537197947502,-0.109802126884460,0.000683212536387,-0.088024891912937,0.156772196292877,0.005584993865341,-0.271271347999573,0.182436138391495,-0.015610635280609,0.097588241100311,0.011073959991336,0.577322423458099,-0.359208941459656,0.194320112466812,0.021467257291079) * MODEL4_texOff(vec2(-1,0));
res += mat4(0.084938943386078,0.268223613500595,-0.024661649018526,0.030689055100083,0.012512688525021,0.062363114207983,-0.056120987981558,-0.062078762799501,0.011482161469758,-0.235524401068687,0.164659872651100,-0.035998396575451,0.024163503199816,-0.077426254749298,-0.007115508429706,0.033078446984291) * MODEL4_texOff(vec2(-1,1));
res += mat4(0.178322017192841,0.320016413927078,-0.217324823141098,0.052277889102697,-0.143421813845634,-0.155472874641418,0.323849171400070,-0.440769940614700,-0.044216815382242,0.060073118656874,0.146753713488579,-0.418321520090103,0.008672336116433,-0.348936796188354,0.219431906938553,-0.271656185388565) * MODEL4_texOff(vec2(0,-1));
res += mat4(-0.257189333438873,0.469864338636398,-0.429941803216934,0.699100792407990,0.365443468093872,-0.228281125426292,-0.259513199329376,-0.110444821417332,-0.910177826881409,0.527075827121735,-0.396559983491898,0.146373316645622,-0.223901554942131,-0.193438142538071,0.154144302010536,-0.703874647617340) * MODEL4_texOff(vec2(0,0));
res += mat4(0.094049207866192,0.147826462984085,-0.198148056864738,0.146334350109100,0.205058246850967,-0.294241368770599,0.030108520761132,-0.036993224173784,0.094675511121750,0.289726018905640,0.123905412852764,-0.220108479261398,-0.081087097525597,-0.048269987106323,0.290208101272583,-0.276892751455307) * MODEL4_texOff(vec2(0,1));
res += mat4(-0.113425739109516,-0.093698129057884,-0.100271448493004,0.058955509215593,-0.086396582424641,0.017581056803465,-0.002706109778956,-0.343418091535568,-0.338268071413040,-0.084551140666008,-0.014493301510811,-0.121748067438602,0.041946433484554,-0.174252957105637,-0.001815868075937,-0.436091631650925) * MODEL4_texOff(vec2(1,-1));
res += mat4(0.174932062625885,-0.026127105578780,-0.151173353195190,0.378466039896011,0.043841671198606,0.164540290832520,-0.096003651618958,0.541708528995514,0.085760124027729,0.048510205000639,-0.027146119624376,0.397062659263611,0.014068575575948,-0.085867717862129,-0.015505640767515,0.057146694511175) * MODEL4_texOff(vec2(1,0));
res += mat4(0.130087420344353,0.055936850607395,-0.104076556861401,0.202971592545509,-0.007858295924962,0.053986612707376,0.085895113646984,-0.015789151191711,0.064089454710484,-0.283797889947891,-0.199186265468597,-0.134688705205917,0.154565125703812,0.053143292665482,0.091517329216003,-0.320919126272202) * MODEL4_texOff(vec2(1,1));
res += mat4(-0.099030822515488,-0.015427315607667,0.110712364315987,0.055257171392441,-0.091308355331421,0.032580528408289,-0.027198374271393,0.073353357613087,0.121523849666119,0.021344628185034,-0.152002662420273,-0.022855041548610,0.379234284162521,0.006861024536192,0.032783940434456,0.048114281147718) * MODEL5_texOff(vec2(-1,-1));
res += mat4(-0.249231323599815,0.219041824340820,0.179313734173775,0.038732364773750,-0.187337175011635,0.140828862786293,-0.095773674547672,-0.126473054289818,0.039923418313265,0.362054973840714,-0.119498364627361,-0.115305595099926,0.054689612239599,-0.094739787280560,-0.011500905267894,0.003484184388071) * MODEL5_texOff(vec2(-1,0));
res += mat4(0.087845593690872,0.064741767942905,0.119895838201046,0.079594738781452,0.007820977829397,-0.113706707954407,-0.048984270542860,0.016882970929146,0.105750069022179,0.093127936124802,0.053668051958084,0.009942376986146,0.025498909875751,0.144751548767090,-0.155197963118553,-0.040386859327555) * MODEL5_texOff(vec2(-1,1));
res += mat4(0.088900163769722,-0.671299755573273,0.055649086833000,-0.201204627752304,-0.106428034603596,0.377322405576706,-0.075987286865711,0.272347301244736,0.868540823459625,0.074736468493938,-0.490848660469055,0.017663294449449,0.440900325775146,0.221945479512215,-0.114644356071949,-0.131858006119728) * MODEL5_texOff(vec2(0,-1));
res += mat4(-0.530672967433929,0.128292620182037,-0.214863345026970,0.111616112291813,-0.145178705453873,-0.348530858755112,0.832804083824158,0.128745183348656,0.111094042658806,0.441203474998474,-0.449046969413757,0.386879980564117,0.268316954374313,0.283802151679993,-0.299239367246628,-0.159288540482521) * MODEL5_texOff(vec2(0,0));
res += mat4(-0.035037107765675,-0.394972801208496,0.120723769068718,0.051557026803493,-0.230777949094772,0.117049939930439,-0.098510213196278,0.129734486341476,0.525551378726959,-0.350014984607697,0.320508688688278,0.025518199428916,-0.228862509131432,0.036578867584467,-0.044997405260801,0.058564323931932) * MODEL5_texOff(vec2(0,1));
res += mat4(0.082374311983585,-0.300310552120209,-0.003161295549944,-0.285863757133484,-0.216955065727234,-0.372564762830734,-0.134337395429611,0.092914901673794,0.187876433134079,0.089982740581036,-0.036038722842932,0.120948985219002,0.146092593669891,0.044643566012383,-0.225932851433754,-0.250407546758652) * MODEL5_texOff(vec2(1,-1));
res += mat4(0.324103385210037,-0.148782700300217,-0.162512779235840,0.609184622764587,0.544100344181061,-0.207561582326889,-0.255894631147385,-0.824518442153931,0.105272375047207,0.136756390333176,-0.135503903031349,-0.382453382015228,0.371497482061386,0.078001163899899,-0.182180553674698,-0.549854040145874) * MODEL5_texOff(vec2(1,0));
res += mat4(0.108074918389320,-0.255048245191574,0.056685343384743,-0.222351238131523,0.027026306837797,-0.098160520195961,-0.071572244167328,0.169747665524483,0.142984941601753,-0.022968802601099,0.008214885368943,-0.036843825131655,-0.021613188087940,0.166398435831070,0.098481155931950,0.162846907973289) * MODEL5_texOff(vec2(1,1));
res += mat4(-0.211851924657822,0.089124299585819,0.087727680802345,-0.008147045038640,-0.169550523161888,-0.167395934462547,0.062900342047215,-0.056152742356062,0.195489868521690,0.014685072004795,0.001549397362396,-0.075949318706989,-0.015621219761670,-0.056277301162481,-0.198229208588600,0.049976240843534) * MODEL6_texOff(vec2(-1,-1));
res += mat4(-0.470596760511398,0.151764526963234,0.063165105879307,0.026457017287612,-0.019262567162514,-0.160448536276817,-0.006661043968052,0.040637809783220,0.071836404502392,-0.064622141420841,0.107355147600174,-0.072704419493675,-0.244196176528931,-0.071798704564571,-0.282123953104019,-0.001912424690090) * MODEL6_texOff(vec2(-1,0));
res += mat4(-0.125166893005371,0.183570995926857,0.072693608701229,0.008381288498640,-0.074779853224754,-0.095250487327576,0.037095651030540,0.059456933289766,0.103734061121941,-0.106789566576481,0.159407034516335,0.051632378250360,-0.296343713998795,0.284979403018951,0.022800059989095,-0.137258052825928) * MODEL6_texOff(vec2(-1,1));
res += mat4(-0.373625785112381,0.119627714157104,0.097089841961861,0.243783652782440,-0.078071102499962,-0.311560928821564,-0.019611207768321,-0.455606937408447,0.341023653745651,-0.197395235300064,0.083102591335773,-0.273637861013412,-0.621857583522797,-0.294927269220352,-0.164783686399460,0.344087809324265) * MODEL6_texOff(vec2(0,-1));
res += mat4(-0.464456111192703,0.247419580817223,0.014747023582458,0.112846605479717,-0.081345804035664,-0.321102857589722,-0.047366037964821,-0.211396932601929,0.455115616321564,-0.177596956491470,0.041356865316629,-0.448676049709320,-0.366604954004288,0.363785564899445,-0.255318433046341,0.347403109073639) * MODEL6_texOff(vec2(0,0));
res += mat4(-0.002232569735497,0.033721249550581,0.016507029533386,-0.149742320179939,0.060079794377089,-0.158205896615982,0.010248347185552,-0.105753414332867,0.246773809194565,-0.288245558738708,0.114029727876186,-0.129131883382797,-0.016254451125860,0.198866963386536,-0.143492877483368,0.258133441209793) * MODEL6_texOff(vec2(0,1));
res += mat4(0.105804249644279,-0.046793073415756,0.069299176335335,0.097486600279808,-0.077277623116970,-0.068806432187557,0.008045922964811,-0.662018716335297,-0.300873428583145,0.230204507708549,0.098966568708420,-0.002853571437299,-0.060251858085394,0.046399526298046,-0.049145951867104,0.383579850196838) * MODEL6_texOff(vec2(1,-1));
res += mat4(0.103667907416821,0.065766170620918,-0.068182736635208,0.323359161615372,-0.226045429706573,-0.097345419228077,-0.007829947397113,-0.500199139118195,-0.352622389793396,0.223474785685539,0.189400717616081,0.173110678792000,-0.422222346067429,0.362842142581940,-0.087164498865604,0.399356424808502) * MODEL6_texOff(vec2(1,0));
res += mat4(-0.096187256276608,0.004218738526106,-0.043020069599152,-0.146958142518997,-0.030509667471051,-0.053382158279419,-0.037628993391991,-0.182151257991791,0.079914703965187,0.013121329247952,0.015134788118303,-0.009764570742846,-0.078319996595383,0.247298195958138,-0.140946447849274,0.436589181423187) * MODEL6_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.155845567584038,0.106855817139149,1.315247178077698,-0.103320218622684) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 3.200 * > OUTPUT.h LUMA.h 3.200 * > *
//!COMPONENTS 4
//!BIND MODEL4
//!BIND MODEL5
//!BIND MODEL6
//!SAVE MODEL3
//!DESC [AiUpscale_Fast_4x_LineArt_RT] mapping 3_3

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(0.126508876681328,-0.022659853100777,0.052318669855595,0.043055702000856);
res += mat4(0.272813230752945,-0.009276231750846,-0.415353387594223,0.142269924283028,-0.014201786369085,-0.049276392906904,-0.056033097207546,-0.048260025680065,-0.316296696662903,-0.032307747751474,0.349607229232788,-0.028371656313539,-0.280097097158432,0.136663302779198,-0.325742572546005,0.167832121253014) * MODEL4_texOff(vec2(-1,-1));
res += mat4(-0.195164382457733,-0.145617410540581,-0.629628717899323,-0.086116187274456,0.269008666276932,-0.408793359994888,-0.218708887696266,-0.181503653526306,-0.027671638876200,-0.296617329120636,-0.009500879794359,0.167373657226563,0.081848613917828,-0.097169540822506,-0.409516364336014,0.114692509174347) * MODEL4_texOff(vec2(-1,0));
res += mat4(-0.112612769007683,0.050530355423689,-0.133912548422813,-0.000934669864364,0.167364805936813,0.119527272880077,-0.144484966993332,-0.083739712834358,0.113976567983627,0.219184979796410,-0.124514460563660,0.251665443181992,-0.097594767808914,-0.098811224102974,-0.020122064277530,0.077861502766609) * MODEL4_texOff(vec2(-1,1));
res += mat4(-0.071502283215523,-0.011425129137933,-0.062508575618267,0.122214511036873,-0.020810790359974,0.027989530935884,-0.044562466442585,-0.072661228477955,0.109678938984871,0.022192049771547,-0.027653696015477,-0.004503516014665,-0.035460725426674,0.061893757432699,0.259712010622025,-0.178101018071175) * MODEL4_texOff(vec2(0,-1));
res += mat4(-0.581472575664520,0.488688170909882,0.004350619390607,-0.034764036536217,-0.527234852313995,0.181448698043823,0.094731733202934,-0.066360622644424,0.154651477932930,-0.158004879951477,-0.746792256832123,-0.806049346923828,0.304494231939316,0.133732959628105,-0.354593217372894,0.625412940979004) * MODEL4_texOff(vec2(0,0));
res += mat4(-0.068509414792061,-0.099422901868820,-0.139176487922668,-0.130140453577042,-0.175988703966141,-0.168133169412613,0.189441025257111,-0.257460445165634,0.284862548112869,0.068371735513210,-0.005709317978472,0.506335258483887,-0.309906095266342,-0.132619142532349,-0.100251950323582,-0.082156695425510) * MODEL4_texOff(vec2(0,1));
res += mat4(0.077338211238384,-0.097302950918674,-0.168072789907455,0.101255439221859,0.040097143501043,-0.159723952412605,-0.027017498388886,-0.111583754420280,0.074080444872379,-0.417411446571350,-0.175256803631783,-0.009642179124057,-0.111987270414829,0.047913074493408,-0.102831371128559,0.113154247403145) * MODEL4_texOff(vec2(1,-1));
res += mat4(0.204430982470512,-0.057622022926807,-0.200537607073784,0.179449319839478,-0.095608085393906,0.316898435354233,0.117738284170628,0.093853808939457,0.226367175579071,0.022334249690175,-0.097505658864975,0.041131604462862,-0.093281552195549,0.036850504577160,0.088883005082607,0.094258345663548) * MODEL4_texOff(vec2(1,0));
res += mat4(0.097698658704758,-0.032096549868584,-0.062765128910542,0.046050664037466,-0.143433108925819,-0.019359253346920,-0.050981257110834,-0.421314537525177,0.010262376628816,-0.048538245260715,-0.076913423836231,-0.016342792659998,0.026080748066306,-0.008313410915434,-0.003593842964619,0.006684842985123) * MODEL4_texOff(vec2(1,1));
res += mat4(0.076650179922581,0.125277802348137,0.068915054202080,-0.007281976286322,-0.006289468612522,-0.115040272474289,0.232943207025528,0.005739616230130,0.142793387174606,-0.004272576421499,-0.015743819996715,0.048621505498886,0.034716039896011,-0.166603997349739,0.414080411195755,-0.245764523744583) * MODEL5_texOff(vec2(-1,-1));
res += mat4(0.415316879749298,-0.042930640280247,0.260701954364777,-0.034631405025721,0.382389396429062,-0.062166117131710,0.060459855943918,-0.095287933945656,0.012318396009505,-0.127668499946594,0.123228795826435,-0.063756167888641,-0.130946159362793,-0.474773347377777,-0.386544167995453,0.025678774341941) * MODEL5_texOff(vec2(-1,0));
res += mat4(0.010643029585481,-0.115398466587067,0.078792609274387,-0.053951792418957,0.094372279942036,0.013355454429984,0.034089855849743,-0.143540769815445,0.011184127070010,-0.299547374248505,-0.400897622108459,-0.488840937614441,-0.103904031217098,-0.045059930533171,0.001910567050800,0.372453570365906) * MODEL5_texOff(vec2(-1,1));
res += mat4(-0.013595797121525,-0.126319780945778,0.292357414960861,0.295972377061844,0.347483783960342,-0.164555668830872,0.109631396830082,0.032957416027784,0.294114202260971,-0.229918867349625,-0.202061727643013,-0.081380531191826,-0.542385101318359,-0.237215816974640,-0.210203841328621,0.017185391858220) * MODEL5_texOff(vec2(0,-1));
res += mat4(-0.087668508291245,0.074669778347015,-0.300092130899429,0.239809721708298,-0.091854281723499,0.231458634138107,0.062129251658916,0.076095201075077,-0.497249841690063,0.109085075557232,0.492274403572083,0.131830736994743,-0.386047720909119,0.006181697826833,0.357540398836136,0.324762970209122) * MODEL5_texOff(vec2(0,0));
res += mat4(-0.045267857611179,0.062180250883102,0.014172315597534,0.041614290326834,-0.107596971094608,-0.100273780524731,-0.061038590967655,-0.367338597774506,-0.011423544026911,0.278745412826538,-0.086886525154114,0.113158799707890,-0.416417002677917,-0.074884921312332,0.228220805525780,-0.557131290435791) * MODEL5_texOff(vec2(0,1));
res += mat4(0.089659973978996,0.235099211335182,-0.032308075577021,0.000195242930204,-0.051517266780138,-0.242979168891907,-0.027573620900512,-0.253179460763931,-0.269224554300308,-0.061832584440708,0.100369684398174,0.095396228134632,-0.102986946702003,0.114401653409004,0.270708054304123,0.152595907449722) * MODEL5_texOff(vec2(1,-1));
res += mat4(0.381098210811615,0.032115612179041,0.098003491759300,0.248914018273354,-0.156756043434143,-0.234446391463280,-0.102559261023998,0.296533077955246,-0.959140539169312,0.112251162528992,0.144571855664253,-0.129571661353111,-0.146680861711502,-0.346917688846588,0.264590084552765,-0.062047328799963) * MODEL5_texOff(vec2(1,0));
res += mat4(0.218577846884727,0.111933410167694,0.165633380413055,0.016489969566464,-0.026357352733612,0.076517760753632,0.074088908731937,0.187745377421379,-0.052447531372309,0.292629897594452,-0.075563140213490,-0.193900778889656,-0.319920033216476,-0.114710457623005,-0.196613267064095,-0.013789784163237) * MODEL5_texOff(vec2(1,1));
res += mat4(0.173240005970001,0.129653781652451,-0.326101124286652,0.141044378280640,-0.032054048031569,-0.132542833685875,-0.061132162809372,0.043472688645124,-0.031411666423082,-0.029042810201645,0.016820253804326,0.024906227365136,0.364320576190948,0.369911134243011,0.348056316375732,-0.281536817550659) * MODEL6_texOff(vec2(-1,-1));
res += mat4(-0.575095891952515,0.078376442193985,-0.050849825143814,0.209820553660393,0.199499458074570,-0.316252946853638,-0.267525881528854,-0.230532184243202,0.118309140205383,0.048756983131170,-0.270252525806427,-0.088463291525841,-0.263653755187988,-0.082409523427486,0.138500094413757,-0.402466207742691) * MODEL6_texOff(vec2(-1,0));
res += mat4(0.247013330459595,-0.303258359432220,0.400506079196930,0.202396497130394,0.200168162584305,-0.202157884836197,-0.411530852317810,0.046583574265242,0.084473304450512,-0.085060156881809,0.034073997288942,-0.229833379387856,-0.201981738209724,0.171533212065697,0.056358925998211,-0.057970132678747) * MODEL6_texOff(vec2(-1,1));
res += mat4(-0.477886825799942,0.857626438140869,0.070459984242916,0.158244386315346,-0.147251576185226,0.395937204360962,-0.281059563159943,-0.120282858610153,0.230237081646919,-0.061061292886734,-0.038039784878492,-0.191623374819756,-0.615848362445831,0.060640659183264,0.112606935203075,-0.271464467048645) * MODEL6_texOff(vec2(0,-1));
res += mat4(-0.439730972051620,-1.046742916107178,0.893490850925446,-0.271247982978821,-0.156705006957054,0.003719433909282,0.260868549346924,-0.277810513973236,0.340826332569122,-0.451427310705185,-0.394645690917969,0.337002992630005,0.092393122613430,0.069627679884434,-0.267920583486557,-0.178914099931717) * MODEL6_texOff(vec2(0,0));
res += mat4(0.293356329202652,-0.183329015970230,0.242670446634293,-0.237377092242241,-0.097207568585873,-0.117107853293419,-0.297455757856369,-0.496399879455566,0.239679440855980,0.155439242720604,0.109522417187691,0.284776806831360,-0.053580824285746,0.303206980228424,-0.062100794166327,-0.249809280037880) * MODEL6_texOff(vec2(0,1));
res += mat4(0.282407075166702,0.558612883090973,-0.142035573720932,0.192769512534142,-0.228681609034538,0.095286898314953,0.051146924495697,-0.174526065587997,0.061324939131737,-0.064390160143375,0.085351981222630,-0.040168058127165,-0.028954783454537,0.274873226881027,0.343628704547882,0.242124766111374) * MODEL6_texOff(vec2(1,-1));
res += mat4(0.516395628452301,0.141060203313828,0.613977789878845,-0.221229016780853,-0.483203262090683,-0.552383005619049,0.181487366557121,0.020870897918940,-0.008053944446146,-0.029990658164024,-0.045267794281244,-0.121574558317661,0.165499076247215,0.154624730348587,-0.035151779651642,-0.009558042511344) * MODEL6_texOff(vec2(1,0));
res += mat4(0.157429903745651,0.057555664330721,0.463066369295120,-0.192841306328773,0.208013057708740,0.113109454512596,-0.274174451828003,-0.427222251892090,-0.048111729323864,-0.058052185922861,-0.007665505632758,-0.017780970782042,0.178186699748039,0.016190815716982,-0.019074710085988,-0.098946750164032) * MODEL6_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.292407810688019,-0.256502479314804,0.213822335004807,0.055014997720718) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(-0.175915196537971,-0.008152569644153,0.025399342179298,-0.088990718126297);
res += mat4(0.137493520975113,0.011755041778088,-0.034778971225023,0.038245301693678,0.219909504055977,0.080156274139881,-0.167094543576241,-0.117944560945034,-0.090596705675125,-0.172630220651627,-0.268036484718323,-0.342944115400314,-0.115685783326626,0.125631347298622,0.362811684608459,-0.073042280972004) * MODEL4_texOff(vec2(-1,-1));
res += mat4(0.304567515850067,0.206326201558113,-0.040001135319471,0.358027845621109,-0.225415274500847,-0.124776087701321,-0.328614592552185,-0.086020953953266,0.186460033059120,0.012486152350903,-0.132529497146606,-0.193666249513626,-0.597162425518036,-0.061368159949780,0.970004200935364,-0.268014639616013) * MODEL4_texOff(vec2(-1,0));
res += mat4(-0.215068414807320,-0.054315060377121,0.085411474108696,0.410704374313354,-0.050980739295483,-0.118463352322578,-0.198299065232277,-0.408704280853271,0.230859711766243,0.063630133867264,0.090822257101536,0.071511916816235,-0.184834554791451,-0.293535977602005,0.256883680820465,-0.423731237649918) * MODEL4_texOff(vec2(-1,1));
res += mat4(0.236866638064384,-0.008727500215173,0.009548326022923,0.125429049134254,0.153931334614754,0.317392796278000,-0.020438451319933,-0.144167482852936,0.199313521385193,0.037789952009916,0.280490785837173,-0.130203127861023,-0.146193742752075,0.017467612400651,0.167310610413551,-0.124879665672779) * MODEL4_texOff(vec2(0,-1));
res += mat4(-0.010420589707792,0.259490519762039,-0.152412489056587,-0.122675865888596,-0.035019073635340,-0.268091171979904,0.445405304431915,0.127098798751831,0.196150347590446,0.105675339698792,-0.345355778932571,0.225883722305298,-0.123447515070438,-0.199681550264359,0.110432557761669,0.490935802459717) * MODEL4_texOff(vec2(0,0));
res += mat4(0.300687998533249,0.251921564340591,0.021927213296294,0.315711349248886,0.027883419767022,-0.288088679313660,0.070002891123295,-0.109568826854229,0.054149325937033,0.143480330705643,-0.053459323942661,0.073872424662113,-0.006687812507153,0.027271542698145,0.125450849533081,-0.027368798851967) * MODEL4_texOff(vec2(0,1));
res += mat4(-0.141541287302971,0.071142695844173,-0.062305115163326,-0.099909104406834,0.163385033607483,-0.003800508333370,-0.114431172609329,-0.131763562560081,0.095100007951260,0.208457559347153,-0.121863529086113,-0.060055974870920,-0.062121111899614,-0.027735054492950,0.198573425412178,0.083570472896099) * MODEL4_texOff(vec2(1,-1));
res += mat4(-0.040003269910812,-0.060037191957235,0.278531521558762,0.217058867216110,-0.028675530105829,-0.042126048356295,0.022376904264092,0.001323101925664,-0.228874295949936,0.219006791710854,0.085596762597561,0.234169825911522,0.022042788565159,0.074646651744843,0.214550107717514,-0.135983645915985) * MODEL4_texOff(vec2(1,0));
res += mat4(-0.081467926502228,0.104565657675266,0.202516913414001,0.067714385688305,0.029479101300240,-0.050824578851461,-0.000499179703183,-0.072516649961472,-0.005208799149841,-0.266542136669159,0.340110331773758,0.026402726769447,0.076405227184296,-0.001217821147293,-0.027674181386828,-0.113862246274948) * MODEL4_texOff(vec2(1,1));
res += mat4(0.205101698637009,0.078937530517578,0.053112935274839,-0.035852394998074,-0.074566237628460,0.008263230323792,0.002512856852263,0.200774565339088,-0.059500750154257,-0.365950733423233,-0.049675170332193,-0.023976145312190,0.182711541652679,0.162333145737648,-0.053462997078896,-0.126508682966232) * MODEL5_texOff(vec2(-1,-1));
res += mat4(-0.179802253842354,-0.034222096204758,-0.017327995970845,0.154734656214714,-0.165836319327354,0.044015720486641,0.017761612311006,-0.373124867677689,-0.246737867593765,-0.032846894115210,-0.373379111289978,-0.121209613978863,0.019833130761981,-0.076579317450523,-0.096622556447983,0.174418985843658) * MODEL5_texOff(vec2(-1,0));
res += mat4(-0.104589432477951,-0.152053937315941,-0.129024446010590,-0.450990140438080,-0.097361087799072,-0.007323340978473,0.147493973374367,-0.011702569201589,-0.120135016739368,-0.051881156861782,-0.156317830085754,-0.065569892525673,0.054498758167028,-0.082225054502487,-0.104400746524334,-0.041412957012653) * MODEL5_texOff(vec2(-1,1));
res += mat4(-0.162037134170532,0.170138984918594,0.115648038685322,-0.399997502565384,-0.051109600812197,0.079934619367123,0.023443138226867,0.268751263618469,0.016847271472216,-0.642112076282501,-0.157810792326927,-0.006492938846350,0.062292549759150,-0.267213344573975,-0.314625680446625,-0.065986141562462) * MODEL5_texOff(vec2(0,-1));
res += mat4(0.496104687452316,-0.060173016041517,-0.676482319831848,0.499926030635834,0.296085536479950,-0.051364447921515,-0.872094452381134,-0.251363515853882,0.208499133586884,0.125742644071579,0.491580605506897,-0.285153239965439,-0.072370119392872,0.452799379825592,-0.069627784192562,-0.349991589784622) * MODEL5_texOff(vec2(0,0));
res += mat4(-0.090031541883945,-0.033627141267061,0.191142424941063,0.079276852309704,0.166575103998184,0.242706909775734,-0.175682216882706,-0.000077851247624,-0.135603964328766,-0.020206848159432,0.174270719289780,-0.183119550347328,0.025929190218449,-0.353137671947479,0.071243532001972,-0.064960651099682) * MODEL5_texOff(vec2(0,1));
res += mat4(-0.192910522222519,0.019845532253385,0.313090443611145,-0.043753288686275,-0.129710167646408,0.194124057888985,0.195810496807098,-0.014637245796621,-0.282115221023560,-0.136518746614456,0.108728237450123,0.013308511115611,0.254684001207352,0.065499387681484,-0.052844915539026,-0.075914099812508) * MODEL5_texOff(vec2(1,-1));
res += mat4(-0.803997159004211,-0.092748105525970,0.645672142505646,-0.168936669826508,-0.762493371963501,-0.114350818097591,0.592001676559448,0.537257373332977,0.179764345288277,-0.321318060159683,-0.044458866119385,-0.155745252966881,-0.021497296169400,-0.089829519391060,0.172816902399063,0.121854618191719) * MODEL5_texOff(vec2(1,0));
res += mat4(-0.363975524902344,0.015125091187656,0.218456447124481,-0.058678019791842,-0.240580946207047,0.077670663595200,0.085399493575096,0.158760562539101,0.271609842777252,-0.084191672503948,0.095465727150440,0.124983802437782,-0.006010338198394,0.092026494443417,0.011654380708933,-0.104045018553734) * MODEL5_texOff(vec2(1,1));
res += mat4(0.106260254979134,0.014653112739325,-0.298960596323013,-0.096983715891838,-0.132867112755775,-0.039325885474682,0.126574605703354,-0.362703353166580,-0.238285258412361,-0.187503084540367,-0.059944320470095,-0.131875127553940,0.053424350917339,0.084232449531555,0.140927001833916,0.335802823305130) * MODEL6_texOff(vec2(-1,-1));
res += mat4(0.477145403623581,0.190811783075333,-0.381634593009949,0.856371879577637,0.065710194408894,-0.041629865765572,-0.081557907164097,-0.649526536464691,0.527912914752960,-0.010320785455406,-0.004625713918358,-0.172376215457916,0.585294187068939,0.195792362093925,-0.160568550229073,0.600132882595062) * MODEL6_texOff(vec2(-1,0));
res += mat4(0.025315154343843,0.014163947664201,-0.040624640882015,0.154198676347733,0.028649685904384,0.055551897734404,0.044030796736479,-0.145202010869980,-0.071737810969353,0.050378352403641,-0.098517999053001,-0.120103128254414,-0.045029699802399,0.532772243022919,-0.100977964699268,0.630138039588928) * MODEL6_texOff(vec2(-1,1));
res += mat4(0.127461433410645,0.171799257397652,-0.213114693760872,-0.195721104741096,-0.163385570049286,-0.027421573176980,0.300048500299454,0.016540369018912,0.241652637720108,-0.087655760347843,-0.074581436812878,-0.036715518683195,0.117928050458431,0.346354365348816,0.007288096006960,0.152002811431885) * MODEL6_texOff(vec2(0,-1));
res += mat4(0.066504500806332,0.161335974931717,-0.486221641302109,-0.328013390302658,-0.230449870228767,0.034043341875076,-0.083523906767368,-0.384791165590286,0.097744442522526,-0.183414667844772,0.217944428324699,-0.083409607410431,-0.080751456320286,-0.011162210255861,-0.088644139468670,0.428540796041489) * MODEL6_texOff(vec2(0,0));
res += mat4(-0.072000585496426,0.019697163254023,-0.012055318802595,-0.088509716093540,-0.000967110157944,0.069455310702324,-0.056836575269699,-0.017432792112231,-0.148477941751480,0.046931196004152,-0.046023808419704,0.016613425686955,-0.027489792555571,0.651464521884918,-0.203047409653664,0.094692148268223) * MODEL6_texOff(vec2(0,1));
res += mat4(0.049317628145218,-0.071572892367840,0.157325685024261,0.005816269200295,-0.134735271334648,-0.164119347929955,-0.003908540122211,0.016247825697064,0.247759863734245,-0.000368383625755,-0.368095189332962,-0.281974673271179,-0.020627010613680,-0.016169030219316,0.095416590571404,-0.136471331119537) * MODEL6_texOff(vec2(1,-1));
res += mat4(0.029550323262811,-0.014237325638533,0.274423748254776,0.170515239238739,-0.061010211706161,-0.120536066591740,-0.136442050337791,-0.112770318984985,0.282285183668137,0.054822180420160,-0.506097555160522,-0.275253295898438,-0.227684691548347,0.182463511824608,-0.366124361753464,0.078226499259472) * MODEL6_texOff(vec2(1,0));
res += mat4(0.088910818099976,0.021705372259021,0.049833230674267,-0.114764519035816,-0.071731895208359,-0.104557506740093,-0.029056128114462,-0.055706247687340,-0.008558114990592,-0.135504379868507,-0.056601870805025,-0.295086264610291,-0.315767556428909,0.205546006560326,0.037663109600544,-0.006133652292192) * MODEL6_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.512230813503265,-0.384390950202942,0.128533452749252,-0.152776300907135) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 3.200 * > OUTPUT.h LUMA.h 3.200 * > *
//!COMPONENTS 4
//!BIND MODEL1
//!BIND MODEL2
//!BIND MODEL3
//!SAVE MODEL4
//!DESC [AiUpscale_Fast_4x_LineArt_RT] mapping 4_1

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(-0.065973527729511,-0.045195873826742,-0.185040861368179,-0.244318053126335);
res += mat4(0.099043630063534,-0.005771050229669,0.333701759576797,0.178994297981262,0.117641836404800,-0.284148156642914,0.345729857683182,0.201462000608444,-0.109347537159920,0.066892571747303,-0.557684779167175,-0.207775101065636,-0.019239259883761,-0.148420423269272,0.009214478544891,-0.043257080018520) * MODEL1_texOff(vec2(-1,-1));
res += mat4(-0.023585148155689,-0.141207188367844,-0.199468538165092,0.241483241319656,-0.023434940725565,0.151298299431801,0.132185935974121,0.600841462612152,0.292381286621094,-0.268771320581436,-0.757543325424194,-0.981435596942902,-0.050801318138838,0.045728776603937,0.333105146884918,0.505606889724731) * MODEL1_texOff(vec2(-1,0));
res += mat4(-0.092853501439095,-0.121691659092903,-0.062184985727072,-0.286033511161804,-0.109097860753536,-0.486069917678833,-0.178672954440117,-0.137401700019836,-0.033156827092171,-0.351612299680710,0.078759379684925,-0.116430304944515,0.037509799003601,-0.260951250791550,0.084307648241520,0.121400892734528) * MODEL1_texOff(vec2(-1,1));
res += mat4(-0.192688882350922,0.355325311422348,-0.696135938167572,-0.420268297195435,0.202179729938507,-0.293781876564026,0.271949559450150,0.021723721176386,0.144720494747162,0.016275746747851,0.055895641446114,-0.014136376790702,0.215768083930016,-0.199368461966515,0.154259979724884,-0.013120762072504) * MODEL1_texOff(vec2(0,-1));
res += mat4(0.325684487819672,-0.568345248699188,0.401810497045517,-0.496699064970016,-0.314196258783340,0.085742890834808,-0.188405156135559,0.238005056977272,-0.233166038990021,0.018121290951967,-0.060742285102606,-0.404582321643829,-0.424235165119171,0.157643422484398,-0.269559264183044,-0.472829431295395) * MODEL1_texOff(vec2(0,0));
res += mat4(-0.117359481751919,0.408965438604355,-0.122124224901199,0.085210397839546,0.053514141589403,-0.224671870470047,0.003709970973432,0.181801751255989,-0.549959003925323,0.133862569928169,-0.122421666979790,-0.134585082530975,0.369136989116669,-0.047115553170443,-0.065011322498322,-0.131856307387352) * MODEL1_texOff(vec2(0,1));
res += mat4(-0.050497479736805,0.219557002186775,0.125934749841690,0.192257225513458,0.066606014966965,-0.012961429543793,-0.013706101104617,0.026605892926455,-0.005198926199228,-0.034996926784515,-0.068806037306786,-0.044019833207130,0.045092280954123,-0.075456008315086,0.031640425324440,-0.028574356809258) * MODEL1_texOff(vec2(1,-1));
res += mat4(-0.157400533556938,-0.257122635841370,0.112450957298279,0.256046980619431,0.222596809267998,-0.173260852694511,-0.040306586772203,0.045729901641607,-0.083233088254929,0.121028438210487,-0.034942217171192,-0.104139842092991,0.172782495617867,0.075086742639542,0.007706129923463,0.261909127235413) * MODEL1_texOff(vec2(1,0));
res += mat4(0.058942254632711,0.018631471320987,-0.082472518086433,-0.074839599430561,-0.212688073515892,-0.048846140503883,0.004030255135149,-0.029775513336062,-0.005346328020096,-0.032230671495199,0.031345896422863,0.004956732504070,-0.005220726132393,-0.089947663247585,-0.035062514245510,-0.021929424256086) * MODEL1_texOff(vec2(1,1));
res += mat4(0.002681210869923,0.075233675539494,-0.123881660401821,-0.046982493251562,0.028162499889731,0.049390476197004,0.122692905366421,-0.087373033165932,0.047947552055120,0.114509150385857,-0.053433153778315,0.054898962378502,0.063069269061089,-0.055205516517162,0.244662359356880,0.083772689104080) * MODEL2_texOff(vec2(-1,-1));
res += mat4(-0.164689287543297,-0.089473977684975,-0.170759782195091,-0.369850754737854,0.189506933093071,-0.098383009433746,0.028392659500241,0.199552908539772,0.074761986732483,-0.113431110978127,0.278420776128769,0.163668736815453,-0.100059114396572,0.123149737715721,-0.082504421472549,0.399133056402206) * MODEL2_texOff(vec2(-1,0));
res += mat4(0.050365529954433,0.019901968538761,0.157770961523056,0.092654705047607,-0.014022093266249,-0.071333631873131,-0.058665387332439,-0.112378306686878,-0.118224762380123,0.324992299079895,-0.061051487922668,-0.138375982642174,0.012187984772027,0.126794114708900,0.041609805077314,0.385704487562180) * MODEL2_texOff(vec2(-1,1));
res += mat4(-0.087158836424351,0.168663024902344,-0.528080880641937,-0.178046584129333,0.077323421835899,-0.042089883238077,0.480719983577728,0.287723749876022,-0.234815835952759,0.218618005514145,-0.091879196465015,-0.055223025381565,0.053490944206715,0.130809560418129,0.002827273914590,0.009909592568874) * MODEL2_texOff(vec2(0,-1));
res += mat4(-0.193067997694016,-1.234303593635559,-0.669657647609711,-1.239224195480347,0.926554024219513,-0.340297371149063,-0.106018744409084,-0.323117852210999,-0.000042761887016,-0.399342685937881,0.575960159301758,-0.151864618062973,0.198193103075027,-0.057988878339529,0.293474942445755,0.798602700233459) * MODEL2_texOff(vec2(0,0));
res += mat4(-0.329366832971573,-0.458799630403519,0.221908628940582,-0.123330608010292,-0.359683305025101,-0.055086463689804,-0.047699604183435,-0.086771607398987,0.195699632167816,0.824314892292023,-0.172063842415810,0.294370621442795,-0.192672014236450,-0.244526252150536,-0.027339966967702,0.009945185855031) * MODEL2_texOff(vec2(0,1));
res += mat4(-0.091502666473389,-0.012195493094623,0.108501181006432,0.064849011600018,0.095693171024323,-0.025125741958618,-0.026993976905942,-0.077112935483456,0.037399049848318,-0.014359217137098,-0.057997707277536,-0.088518075644970,-0.079104945063591,0.145887985825539,-0.114293038845062,0.019793534651399) * MODEL2_texOff(vec2(1,-1));
res += mat4(0.153174445033073,0.011119403876364,0.115861393511295,0.293767601251602,0.554186344146729,0.077926769852638,0.076182164251804,0.189724564552307,0.015252428129315,0.007482915185392,-0.013927741907537,-0.053408537060022,-0.004428729414940,-0.064385905861855,-0.173704922199249,-0.405208915472031) * MODEL2_texOff(vec2(1,0));
res += mat4(-0.235979497432709,-0.034182015806437,-0.033284407109022,0.115647949278355,0.046042881906033,-0.000879475963302,0.012032628990710,0.161750838160515,-0.171586528420448,0.030902419239283,0.052982054650784,-0.070522077381611,-0.047947313636541,0.003544887993485,0.101285539567471,-0.098752103745937) * MODEL2_texOff(vec2(1,1));
res += mat4(0.159822583198547,-0.017859553918242,-0.040843524038792,-0.014663182199001,-0.068522326648235,-0.135112389922142,0.120688892900944,-0.036664050072432,-0.057856179773808,0.199043035507202,-0.135373383760452,-0.002843694994226,0.148428022861481,-0.073540337383747,0.485443592071533,0.289224892854691) * MODEL3_texOff(vec2(-1,-1));
res += mat4(-0.136231869459152,-0.070028722286224,0.003964687697589,-0.102672763168812,-0.091814309358597,0.064826019108295,0.011318062432110,-0.136170119047165,0.006786437239498,-0.148895934224129,-0.113224990665913,-0.312477201223373,-0.094303816556931,0.282874971628189,-0.283534169197083,-0.141838863492012) * MODEL3_texOff(vec2(-1,0));
res += mat4(-0.134328499436378,0.090729802846909,-0.047551445662975,-0.167956620454788,-0.020534047856927,-0.170635297894478,0.042839825153351,-0.063813105225563,0.026838900521398,0.144916653633118,-0.000959878787398,0.028583085164428,-0.024785770103335,0.041407231241465,0.063312388956547,0.097090207040310) * MODEL3_texOff(vec2(-1,1));
res += mat4(-0.117935344576836,0.200811937451363,0.155623018741608,0.256235808134079,0.144131600856781,-0.480430722236633,0.298859834671021,0.055276792496443,-0.206513196229935,0.246182605624199,-0.152146115899086,0.054717320948839,-0.115989536046982,0.185037717223167,0.159918889403343,-0.111028060317039) * MODEL3_texOff(vec2(0,-1));
res += mat4(0.510465383529663,-0.270020574331284,0.655051410198212,0.748330712318420,-0.175391465425491,0.143455490469933,0.155040934681892,0.212280780076981,0.201735988259315,-0.151512101292610,0.371213763952255,0.526710212230682,0.345973581075668,0.689348638057709,-0.023554731160402,0.277429789304733) * MODEL3_texOff(vec2(0,0));
res += mat4(-0.054360277950764,0.329188495874405,-0.154146969318390,0.257116317749023,0.109935611486435,-0.119105480611324,0.050674289464951,0.091066516935825,0.079769320785999,-0.205969795584679,-0.171198278665543,0.018063800409436,0.034945335239172,-0.192173972725868,0.064170911908150,0.074102170765400) * MODEL3_texOff(vec2(0,1));
res += mat4(-0.114983662962914,0.051040604710579,0.040351990610361,-0.058049708604813,0.105127006769180,-0.125148683786392,0.052362859249115,0.025990305468440,-0.194747000932693,0.265205472707748,0.037413202226162,-0.013273079879582,0.046573620289564,-0.020764222368598,0.073423743247986,0.173542290925980) * MODEL3_texOff(vec2(1,-1));
res += mat4(0.097375229001045,-0.005970105528831,-0.137507095932961,-0.175855517387390,-0.092026151716709,0.085208706557751,-0.141942620277405,-0.184052973985672,-0.003032301319763,-0.279558718204498,-0.154103070497513,-0.233054578304291,-0.033030953258276,0.027603102847934,0.047170717269182,0.058915060013533) * MODEL3_texOff(vec2(1,0));
res += mat4(0.175395205616951,0.006028012838215,0.043909527361393,-0.114950180053711,0.232953414320946,-0.223431184887886,0.095296353101730,-0.029059931635857,-0.070350021123886,-0.150757938623428,0.126688241958618,-0.076793417334557,0.004483907949179,0.069042377173901,-0.016733976081014,0.057815197855234) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.022254353389144,0.032277904450893,0.005919075571001,-0.009642240591347) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(-0.127590999007225,0.035203430801630,0.019832713529468,-0.228640675544739);
res += mat4(0.082093559205532,0.009830308146775,-0.457523703575134,-0.224782049655914,0.106911294162273,-0.006388049107045,0.070661172270775,0.202668040990829,0.139688462018967,-0.004469708539546,-0.603551149368286,-0.136773049831390,-0.046266358345747,0.060382433235645,0.055064786225557,-0.011524909175932) * MODEL1_texOff(vec2(-1,-1));
res += mat4(0.203806087374687,0.046619340777397,0.091038852930069,0.139483869075775,0.042387675493956,-0.111965559422970,0.149041622877121,0.029804477468133,0.159625679254532,0.082829736173153,-0.116282671689987,-0.141337648034096,0.174810096621513,-0.087254874408245,-0.121250934898853,-0.436525553464890) * MODEL1_texOff(vec2(-1,0));
res += mat4(-0.076582260429859,-0.090410888195038,-0.015539512038231,-0.031276762485504,0.055469453334808,0.124937504529953,0.124080851674080,0.078242652118206,0.001663906848989,0.010170701891184,-0.114175535738468,-0.077615424990654,0.181361064314842,-0.017076805233955,-0.048999872058630,0.105236031115055) * MODEL1_texOff(vec2(-1,1));
res += mat4(-0.092572674155235,-0.062061686068773,-0.586237251758575,-0.061890605837107,-0.178415477275848,0.042381789535284,-0.181780070066452,-0.065295450389385,-0.310278862714767,0.164327427744865,-0.953894674777985,-0.200512170791626,-0.023557195439935,0.047223750501871,0.177261739969254,0.125687807798386) * MODEL1_texOff(vec2(0,-1));
res += mat4(-0.921424567699432,0.048678923398256,0.040464565157890,0.070078022778034,0.102768063545227,-0.231980755925179,0.233358204364777,0.133787348866463,-0.246778577566147,-0.450872093439102,-0.263081610202789,0.008057040162385,-0.240003123879433,0.130683571100235,0.190758764743805,0.562405228614807) * MODEL1_texOff(vec2(0,0));
res += mat4(-0.135872140526772,0.007519937120378,-0.117246039211750,-0.039048790931702,0.031813282519579,0.126879483461380,0.326806992292404,-0.172469079494476,-0.101627975702286,-0.279096662998199,-0.158111155033112,-0.119866803288460,-0.210858508944511,0.186830773949623,-0.228195235133171,0.124126143753529) * MODEL1_texOff(vec2(0,1));
res += mat4(-0.136881738901138,0.008579907007515,-0.092923782765865,-0.041122600436211,-0.064528860151768,-0.046208631247282,0.093954727053642,0.044483043253422,0.202161833643913,-0.171575203537941,-0.220671325922012,0.180423274636269,0.097645193338394,-0.082924678921700,-0.127734676003456,0.157304748892784) * MODEL1_texOff(vec2(1,-1));
res += mat4(0.157626762986183,-0.392207741737366,0.049018435180187,-0.028684832155704,-0.092918269336224,0.134862497448921,0.143475934863091,-0.007278815843165,-0.071128807961941,-0.226122573018074,-0.108019314706326,-0.072673313319683,-0.008387675508857,0.012423386797309,-0.048461280763149,0.519315958023071) * MODEL1_texOff(vec2(1,0));
res += mat4(0.116918049752712,0.160665184259415,0.045774322003126,-0.017685601487756,-0.040932871401310,-0.289765059947968,0.002578577958047,0.085157297551632,-0.168183147907257,-0.709575116634369,-0.031683113425970,0.203112617135048,0.010064244270325,0.597200870513916,-0.028460564091802,-0.162210047245026) * MODEL1_texOff(vec2(1,1));
res += mat4(0.093946091830730,-0.013853464275599,-0.035103071480989,-0.089765571057796,-0.012397562153637,-0.056929755955935,-0.016178270801902,0.081823103129864,-0.016969531774521,-0.053348191082478,-0.084923803806305,0.044525813311338,0.101653866469860,-0.171061202883720,-0.003340854542330,-0.141871273517609) * MODEL2_texOff(vec2(-1,-1));
res += mat4(0.116806186735630,-0.098524756729603,0.127480641007423,-0.152648270130157,-0.106112286448479,0.028276044875383,-0.215777099132538,0.100249283015728,-0.162126496434212,0.072843976318836,0.128143712878227,0.150469511747360,-0.014022600837052,-0.007529397029430,-0.440391033887863,-0.481151282787323) * MODEL2_texOff(vec2(-1,0));
res += mat4(0.106087714433670,-0.079960294067860,-0.112933836877346,-0.180968686938286,-0.140816420316696,0.018229406327009,0.216675430536270,0.119533888995647,-0.069227106869221,-0.082246191799641,0.045865707099438,0.132745906710625,-0.094787582755089,-0.073012225329876,-0.231103315949440,0.043369393795729) * MODEL2_texOff(vec2(-1,1));
res += mat4(0.089741744101048,-0.030029369518161,0.020550401881337,-0.060412328690290,0.147161111235619,-0.030911406502128,0.070017002522945,0.115904428064823,-0.048945963382721,0.028596196323633,-0.148154646158218,-0.014805656857789,0.062769040465355,0.028986163437366,0.143239557743073,-0.093492619693279) * MODEL2_texOff(vec2(0,-1));
res += mat4(0.379498332738876,0.011420584283769,0.623913705348969,0.099661163985729,0.020428115502000,-0.176462590694427,-0.772863924503326,0.349312692880630,0.628765285015106,-0.366221308708191,0.073726706206799,-0.237623497843742,-0.266619592905045,-0.332819938659668,0.001979293301702,-0.305864632129669) * MODEL2_texOff(vec2(0,0));
res += mat4(0.210795089602470,-0.299988269805908,-0.180891990661621,0.149283051490784,0.451395720243454,0.049484219402075,0.530000865459442,0.064162895083427,0.313487768173218,0.196892619132996,0.136129111051559,-0.045788012444973,-0.289405107498169,-0.824101746082306,-0.112648069858551,-0.174539774656296) * MODEL2_texOff(vec2(0,1));
res += mat4(-0.056417200714350,-0.008394673466682,-0.032976549118757,0.080066494643688,-0.115022242069244,0.131113126873970,0.121620334684849,-0.193172782659531,-0.042991276830435,-0.021219866350293,0.050925906747580,0.038664795458317,-0.020895227789879,0.107081703841686,0.048923011869192,0.116752363741398) * MODEL2_texOff(vec2(1,-1));
res += mat4(0.224235296249390,-0.185953497886658,0.136176690459251,-0.387503981590271,0.336247026920319,-0.336449027061462,-0.229833051562309,-0.311125010251999,-0.147757962346077,0.282347202301025,-0.112197384238243,0.152313306927681,-0.038199976086617,-0.277550667524338,0.042808488011360,0.381922811269760) * MODEL2_texOff(vec2(1,0));
res += mat4(0.075071826577187,-0.244409278035164,-0.005441082175821,-0.173554494976997,-0.105168372392654,-0.299268275499344,-0.038133487105370,0.036959145218134,-0.000111368804937,-0.046410243958235,-0.027210541069508,-0.014946961775422,0.102068752050400,0.229711234569550,0.044915955513716,0.149265646934509) * MODEL2_texOff(vec2(1,1));
res += mat4(-0.024598360061646,-0.055666219443083,-0.072438098490238,0.117971226572990,0.050186999142170,-0.041279394179583,0.291017115116119,0.106768652796745,-0.099578000605106,-0.084952265024185,-0.133888989686966,0.126142650842667,0.001086589531042,0.043781321495771,-0.072584860026836,-0.122180692851543) * MODEL3_texOff(vec2(-1,-1));
res += mat4(-0.304101616144180,0.216287255287170,0.030622335150838,-0.666306436061859,-0.045228786766529,0.022282365709543,0.218079045414925,0.053004745393991,-0.529558300971985,0.252296000719070,-0.082604430615902,0.293586552143097,0.211376309394836,-0.122903473675251,-0.170406863093376,0.031573221087456) * MODEL3_texOff(vec2(-1,0));
res += mat4(-0.229110226035118,-0.023968225345016,-0.167824923992157,-0.383849740028381,0.035196043550968,0.056677561253309,-0.108754888176918,-0.149961486458778,-0.474117517471313,0.000862500804942,0.040724713355303,-0.068173915147781,0.150572717189789,0.037585161626339,0.065576359629631,-0.027875818312168) * MODEL3_texOff(vec2(-1,1));
res += mat4(-0.065646149218082,0.017087545245886,0.041371114552021,-0.311815530061722,0.029375240206718,0.040935810655355,0.491615056991577,-0.012262930162251,0.048803489655256,0.081243172287941,-0.007576055824757,0.277273684740067,-0.079242579638958,-0.015487195923924,-0.409699916839600,-0.177566632628441) * MODEL3_texOff(vec2(0,-1));
res += mat4(-0.395308345556259,-0.178882852196693,0.140727579593658,-0.224979594349861,0.076329067349434,-0.142422065138817,0.534352421760559,-0.143961876630783,0.425378233194351,-0.614471435546875,-0.585666656494141,0.204782456159592,-0.775921046733856,0.164602532982826,-0.615876138210297,-0.308276295661926) * MODEL3_texOff(vec2(0,0));
res += mat4(0.307696372270584,0.081257358193398,-0.229452267289162,0.046926327049732,-0.196564346551895,-0.059973344206810,-0.419548302888870,0.208637416362762,0.471362084150314,0.505707681179047,0.073064148426056,0.095428556203842,-0.087306514382362,0.058405689895153,0.284177392721176,-0.129804089665413) * MODEL3_texOff(vec2(0,1));
res += mat4(0.012001928873360,0.112101301550865,-0.014406598173082,-0.025570193305612,-0.124684184789658,-0.062527984380722,0.110738597810268,-0.032510187476873,0.041408676654100,0.044623747467995,0.038294408470392,-0.076623566448689,-0.009865137748420,0.033146742731333,-0.098371759057045,0.097332902252674) * MODEL3_texOff(vec2(1,-1));
res += mat4(0.154172703623772,-0.117929972708225,0.086353994905949,0.239533111453056,0.269348025321960,0.131897166371346,0.079018644988537,-0.041179846972227,0.427414625883102,0.236242488026619,-0.201857894659042,-0.088083855807781,-0.388634145259857,-0.428292572498322,-0.238973021507263,0.204536929726601) * MODEL3_texOff(vec2(1,0));
res += mat4(0.063254877924919,0.008667859248817,-0.069356426596642,-0.064388081431389,0.218911871314049,0.055254355072975,-0.087113372981548,-0.167365327477455,0.064894728362560,-0.124493956565857,-0.036656957119703,0.064907588064671,-0.312177091836929,-0.482505470514297,0.072379849851131,-0.083979077637196) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.040147203952074,-0.000101721263491,-0.050215788185596,0.038347840309143) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 3.200 * > OUTPUT.h LUMA.h 3.200 * > *
//!COMPONENTS 4
//!BIND MODEL1
//!BIND MODEL2
//!BIND MODEL3
//!SAVE MODEL5
//!DESC [AiUpscale_Fast_4x_LineArt_RT] mapping 4_2

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(-0.235524162650108,-0.143208682537079,-0.166819959878922,-0.082470178604126);
res += mat4(0.068002976477146,0.123543202877045,0.122076526284218,-0.122919738292694,-0.037195783108473,0.068878322839737,0.028860380873084,-0.334959477186203,-0.351049065589905,-0.260588645935059,-0.097148783504963,-0.434481978416443,-0.126072719693184,-0.102701470255852,-0.016774540767074,-0.109554678201675) * MODEL1_texOff(vec2(-1,-1));
res += mat4(-0.023547688499093,-0.029946509748697,0.056937720626593,-0.028478691354394,-0.169848620891571,-0.257312476634979,0.016400314867496,-0.111610949039459,0.008257940411568,-0.284044027328491,0.155083253979683,-0.125934153795242,0.107432536780834,0.009699518792331,0.152239665389061,0.268953889608383) * MODEL1_texOff(vec2(-1,0));
res += mat4(0.008574362844229,-0.016825603321195,-0.062053434550762,-0.061167120933533,-0.026566963642836,0.019095810130239,-0.036786545068026,-0.010940009728074,-0.004294795915484,0.026191612705588,0.044514387845993,0.176714390516281,0.021668646484613,0.086323127150536,0.050695613026619,-0.105273038148880) * MODEL1_texOff(vec2(-1,1));
res += mat4(-0.001703091431409,-0.040198173373938,-0.048121750354767,-0.063321158289909,0.374105960130692,0.331297039985657,0.027913503348827,-0.141832709312439,-1.122763872146606,-0.223040536046028,-0.234639152884483,-0.894999861717224,0.436755031347275,0.322772800922394,-0.185602918267250,-0.089865446090698) * MODEL1_texOff(vec2(0,-1));
res += mat4(0.032882615923882,0.074297070503235,0.092441201210022,-0.065012000501156,-0.235040828585625,-0.061920568346977,0.020634708926082,-0.333016037940979,-0.446700513362885,-0.848102688789368,-1.464867234230042,0.067814171314240,-0.141706958413124,-0.145523905754089,-0.230518117547035,0.214395403862000) * MODEL1_texOff(vec2(0,0));
res += mat4(-0.061115313321352,-0.090529151260853,0.039428383111954,0.253987401723862,-0.172717645764351,-0.139062836766243,-0.078901544213295,0.336587935686111,-0.024060135707259,0.045993857085705,-0.122322238981724,-0.055086158216000,-0.010828827507794,0.051318582147360,-0.056154407560825,-0.179437160491943) * MODEL1_texOff(vec2(0,1));
res += mat4(-0.525684237480164,-0.409536659717560,-0.036927055567503,0.011452938430011,0.131703600287437,0.071063220500946,0.131382510066032,-0.157272681593895,-0.106088027358055,-0.041216939687729,-0.088663868606091,-0.140797436237335,0.083236210048199,0.050643533468246,0.090831100940704,-0.244696781039238) * MODEL1_texOff(vec2(1,-1));
res += mat4(0.516034066677094,0.434391170740128,-0.026471594348550,-0.140546515583992,0.054425016045570,-0.008940443396568,0.585965275764465,-0.097142808139324,0.124087519943714,0.020948711782694,-0.621745824813843,-0.039097990840673,0.185733973979950,0.055206377059221,0.170453384518623,0.015853399410844) * MODEL1_texOff(vec2(1,0));
res += mat4(-0.175964698195457,-0.196231931447983,-0.078186266124249,0.191012650728226,-0.048540327697992,-0.052091911435127,0.204812690615654,0.154126867651939,0.002452031010762,-0.003274649847299,-0.130354553461075,0.120048515498638,-0.058518126606941,-0.057951804250479,-0.004161184187979,0.094639368355274) * MODEL1_texOff(vec2(1,1));
res += mat4(0.073029629886150,0.118557281792164,0.004503219854087,0.061606444418430,0.045029718428850,0.084711298346519,-0.012162124738097,0.024758599698544,0.049530688673258,-0.028116988018155,0.027124255895615,0.141387984156609,-0.120718367397785,-0.042091004550457,-0.093065604567528,-0.140770792961121) * MODEL2_texOff(vec2(-1,-1));
res += mat4(0.047416802495718,0.015124127268791,-0.199383497238159,0.020966693758965,-0.078669100999832,-0.033149428665638,-0.014434137381613,0.048740472644567,-0.000852448574733,0.020849689841270,0.054270491003990,0.144064813852310,0.015328190289438,0.113137751817703,-0.102027751505375,-0.098793581128120) * MODEL2_texOff(vec2(-1,0));
res += mat4(-0.010899977758527,0.052531387656927,0.017060443758965,-0.123943693935871,-0.024596868082881,0.016811706125736,-0.031985383480787,-0.034715704619884,0.002676649950445,-0.013634533621371,-0.042312920093536,0.024333842098713,-0.022476356476545,-0.081560194492340,-0.045032251626253,0.200607433915138) * MODEL2_texOff(vec2(-1,1));
res += mat4(-0.659927129745483,-0.776745557785034,0.074544191360474,-0.768112897872925,-0.524887561798096,0.393193632364273,0.069305427372456,0.076581388711929,-0.269400477409363,-0.148561269044876,-0.004215753171593,0.068135820329189,0.122077792882919,0.121764272451401,0.251520663499832,-0.426322907209396) * MODEL2_texOff(vec2(0,-1));
res += mat4(-0.042420979589224,-0.821834802627563,0.503149926662445,0.596219480037689,-0.226406633853912,0.190010622143745,0.038374986499548,-0.559232652187347,0.692420899868011,0.747780799865723,0.008983587846160,-0.320542663335800,-0.098589219152927,-0.193923711776733,0.381319016218185,0.005899232812226) * MODEL2_texOff(vec2(0,0));
res += mat4(0.029670670628548,0.226170361042023,0.047369014471769,-0.439799934625626,-0.053061135113239,-0.068467877805233,-0.011064030230045,0.248536005616188,0.174304157495499,-0.336773395538330,0.086321368813515,0.348780244588852,-0.020123608410358,0.024276884272695,0.225488260388374,0.090731866657734) * MODEL2_texOff(vec2(0,1));
res += mat4(-0.034608967602253,0.028026081621647,-0.037797406315804,-0.022255085408688,0.182072713971138,0.278278738260269,0.055430080741644,-0.179017856717110,-0.131774857640266,-0.054233003407717,-0.056027911603451,-0.026284692808986,-0.100578874349594,-0.067527793347836,-0.035741768777370,0.084172710776329) * MODEL2_texOff(vec2(1,-1));
res += mat4(0.198601558804512,0.088571466505527,0.683235824108124,0.215945795178413,-0.136284291744232,0.004196259193122,0.222850054502487,-0.027168294414878,0.287838816642761,0.074783213436604,-0.125728711485863,0.068739816546440,-0.184821337461472,-0.112059421837330,-0.377422064542770,-0.172587230801582) * MODEL2_texOff(vec2(1,0));
res += mat4(-0.017681218683720,0.058787334710360,-0.034660600125790,-0.290715306997299,0.015838341787457,-0.016109287738800,-0.002653916366398,0.152634337544441,0.126317724585533,0.044532619416714,-0.035004492849112,0.248357802629471,0.139109283685684,0.076860211789608,-0.047438722103834,0.088058821856976) * MODEL2_texOff(vec2(1,1));
res += mat4(-0.015152504667640,-0.013459994457662,0.054720271378756,-0.060666356235743,-0.004836022388190,-0.030034011229873,-0.037546239793301,0.140846744179726,0.019594222307205,-0.022156553342938,-0.040934171527624,-0.008277456276119,0.063880614936352,0.103999651968479,0.059373114258051,-0.180551663041115) * MODEL3_texOff(vec2(-1,-1));
res += mat4(-0.084143526852131,-0.011930900625885,-0.157335445284843,-0.099068194627762,0.070245727896690,0.066753134131432,-0.057512588799000,-0.117844775319099,0.064253881573677,0.107318155467510,-0.088608756661415,-0.006965445820242,0.001297269598581,-0.061590742319822,0.068758070468903,0.135503619909286) * MODEL3_texOff(vec2(-1,0));
res += mat4(0.022803485393524,-0.021129257977009,-0.061820667237043,0.030824882909656,-0.019655006006360,0.028280258178711,-0.015510319732130,-0.010307744145393,-0.022077333182096,-0.059247061610222,-0.070837691426277,0.046509150415659,0.022386014461517,0.019371824339032,0.016385236755013,0.012769900262356) * MODEL3_texOff(vec2(-1,1));
res += mat4(-0.230359360575676,-0.097010090947151,0.047971908003092,0.256012111902237,0.324264317750931,0.368490129709244,0.037212692201138,-0.159549355506897,-0.150049209594727,-0.109284766018391,0.052917197346687,-0.226236701011658,0.499232143163681,0.567632079124451,-0.056911151856184,0.485196679830551) * MODEL3_texOff(vec2(0,-1));
res += mat4(0.329188197851181,0.514936029911041,0.248336315155029,-0.251963555812836,0.099038578569889,0.096638731658459,0.039394985884428,-0.157823488116264,-0.044385079294443,-0.054785944521427,0.053132269531488,-0.045343630015850,-0.292882591485977,-0.348763078451157,-0.265937238931656,0.328732430934906) * MODEL3_texOff(vec2(0,0));
res += mat4(-0.063642933964729,-0.165961816906929,0.069083973765373,0.425513446331024,0.050933308899403,0.144713819026947,-0.009496037848294,-0.194354102015495,0.085678637027740,-0.023072294890881,0.125243857502937,0.114667519927025,0.045225147157907,0.068881332874298,-0.021224759519100,-0.231868803501129) * MODEL3_texOff(vec2(0,1));
res += mat4(-0.034463055431843,0.082694202661514,0.062585674226284,0.199665367603302,0.104667946696281,0.218556851148605,-0.185842484235764,-0.317041099071503,-0.250821202993393,-0.244565486907959,0.081872984766960,-0.021054502576590,0.175425305962563,0.074091255664825,0.144202828407288,0.320710837841034) * MODEL3_texOff(vec2(1,-1));
res += mat4(-0.000231580212130,-0.002717337105423,0.292475372552872,-0.287595629692078,-0.000687802559696,-0.128766551613808,-0.385181277990341,0.131638467311859,-0.272239685058594,-0.118803128600121,-0.118378758430481,-0.412276893854141,-0.101850561797619,0.046253882348537,0.241628885269165,-0.078556373715401) * MODEL3_texOff(vec2(1,0));
res += mat4(-0.019677139818668,0.001020339201204,0.014912751503289,0.029797861352563,0.033743556588888,0.074112504720688,-0.070959351956844,-0.229680314660072,0.056859757751226,0.024138752371073,-0.148405298590660,0.089146226644516,0.018477700650692,0.036745820194483,0.053271580487490,0.001636722008698) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.014138780534267,0.011553823016584,0.001182935433462,0.034193512052298) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(-0.047994315624237,0.053638190031052,0.036984924226999,-0.122262038290501);
res += mat4(-0.050424881279469,-0.019102701917291,-0.045408803969622,-0.029656441882253,-0.056529294699430,-0.209144562482834,0.011113964021206,0.085918232798576,-0.121795773506165,0.020058447495103,-0.014616186730564,0.171083867549896,-0.036655757576227,-0.098108574748039,-0.044407870620489,0.040932703763247) * MODEL1_texOff(vec2(-1,-1));
res += mat4(-0.300888538360596,0.219029784202576,-0.108854353427887,0.003242973005399,0.166798368096352,-0.148881226778030,-0.041375044733286,0.020983623340726,-0.098707221448421,-0.068909265100956,-0.003995011094958,-0.113865435123444,0.055146295577288,0.494600981473923,-0.115521654486656,0.314879864454269) * MODEL1_texOff(vec2(-1,0));
res += mat4(0.057684607803822,0.108429364860058,0.081526637077332,-0.071541562676430,-0.047181319445372,-0.152200505137444,0.002270694356412,-0.060653351247311,-0.063150204718113,0.010435962118208,0.023940050974488,0.053306985646486,0.054147265851498,0.017663259059191,-0.015090721659362,0.051331475377083) * MODEL1_texOff(vec2(-1,1));
res += mat4(-0.280834287405014,-0.277188181877136,0.027047209441662,-0.431003510951996,-0.206796348094940,-0.583114326000214,0.139875158667564,-0.051981031894684,-0.889460682868958,-0.089697718620300,-0.071246661245823,-0.453609853982925,0.137552097439766,0.158183485269547,-0.045583639293909,-0.173891380429268) * MODEL1_texOff(vec2(0,-1));
res += mat4(-0.658918917179108,-0.253811746835709,-0.295101076364517,-0.396069347858429,0.727720797061920,0.192307949066162,-0.292810589075089,-0.208267539739609,0.114532470703125,-0.007025570608675,-0.166061475872993,-0.067370995879173,-0.101184815168381,-0.821790754795074,0.054710544645786,-0.008046244271100) * MODEL1_texOff(vec2(0,0));
res += mat4(0.072376683354378,0.040690809488297,0.011001431383193,-0.107676751911640,0.141412794589996,-0.119713947176933,0.198089718818665,0.073370307683945,-0.442187428474426,0.081765785813332,-0.001753916963935,-0.097188062965870,0.089075542986393,0.106885448098183,-0.214886084198952,0.065880790352821) * MODEL1_texOff(vec2(0,1));
res += mat4(-0.330580145120621,-0.030156861990690,0.003978075925261,0.050756692886353,-0.226527318358421,-0.025368012487888,-0.020179271697998,-0.034481588751078,-0.166294246912003,-0.070486277341843,0.016221068799496,0.144018813967705,0.167163774371147,0.225352719426155,-0.048720605671406,-0.024413457140326) * MODEL1_texOff(vec2(1,-1));
res += mat4(0.025706622749567,0.067540489137173,0.152087599039078,0.147491276264191,0.449587911367416,-0.145697519183159,0.046327192336321,0.215358808636665,-0.087655343115330,-0.135898068547249,-0.034183196723461,-0.061391998082399,-0.193206533789635,0.427290767431259,-0.207948639988899,-0.375674515962601) * MODEL1_texOff(vec2(1,0));
res += mat4(0.010689747519791,-0.093405507504940,-0.013905535452068,0.073024168610573,0.040402732789516,-0.091399922966957,-0.016401236876845,0.045011889189482,-0.196257382631302,0.006721918005496,-0.028884321451187,-0.047346223145723,-0.084755681455135,0.138126969337463,-0.015957854688168,-0.014959928579628) * MODEL1_texOff(vec2(1,1));
res += mat4(0.079472385346889,0.190325215458870,-0.046777360141277,0.090835765004158,0.121736548841000,0.042320393025875,0.025542141869664,-0.125470906496048,0.078558526933193,-0.028490517288446,0.099647350609303,-0.139878794550896,0.381888091564178,0.302175164222717,-0.066764138638973,-0.163154408335686) * MODEL2_texOff(vec2(-1,-1));
res += mat4(0.048078928142786,-0.646231114864349,0.274059385061264,-0.153822526335716,-0.170203879475594,-0.246204927563667,-0.010919122956693,0.012813959270716,0.070390954613686,-0.040891341865063,-0.046252187341452,-0.126931190490723,-0.704282939434052,0.184005275368690,0.230386212468147,0.174508064985275) * MODEL2_texOff(vec2(-1,0));
res += mat4(-0.134052515029907,0.056090079247952,-0.199765399098396,0.069982670247555,-0.058869101107121,-0.114132918417454,-0.054758798331022,-0.148083150386810,-0.109762504696846,-0.073341235518456,-0.026970067992806,-0.093648940324783,-0.349231034517288,-0.061150770634413,0.055572040379047,0.216419845819473) * MODEL2_texOff(vec2(-1,1));
res += mat4(0.243816629052162,0.157705634832382,0.119800418615341,0.203510791063309,0.114157497882843,-0.139116019010544,0.057463251054287,0.309429079294205,-0.190454080700874,-0.148723959922791,-0.177657663822174,0.314155280590057,0.299162894487381,0.037422839552164,0.068349279463291,0.206389024853706) * MODEL2_texOff(vec2(0,-1));
res += mat4(0.084478363394737,0.002108360640705,-0.244296252727509,0.801432073116302,-0.513155400753021,0.329439818859100,-0.139386907219887,0.138444572687149,0.381268590688705,0.456420242786407,0.648705542087555,0.715601384639740,-0.076713010668755,-0.003980807960033,0.087993666529655,-0.363624602556229) * MODEL2_texOff(vec2(0,0));
res += mat4(-0.219410240650177,0.357691943645477,0.021117020398378,-0.058183878660202,0.088641874492168,-0.239012390375137,0.107788041234016,0.249692112207413,-0.148457631468773,-0.307742595672607,-0.088556051254272,0.264486759901047,-0.651148021221161,-0.070651583373547,0.024223282933235,-0.055157341063023) * MODEL2_texOff(vec2(0,1));
res += mat4(0.008922565728426,-0.021566625684500,-0.039096388965845,0.147579133510590,-0.070606678724289,0.004846178926528,0.012742157094181,0.035673838108778,-0.045292083173990,0.034230209887028,-0.047165956348181,-0.136044397950172,0.172507822513580,0.073305748403072,-0.098245993256569,-0.117705300450325) * MODEL2_texOff(vec2(1,-1));
res += mat4(-0.054769583046436,-0.090314224362373,0.055138051509857,0.156669065356255,-0.113066390156746,-0.003399122739211,0.084838367998600,0.354747325181961,0.078440189361572,0.121238619089127,-0.109881319105625,-0.105730585753918,-0.026528997346759,0.125815168023109,-0.062670566141605,-0.035984691232443) * MODEL2_texOff(vec2(1,0));
res += mat4(0.053359806537628,-0.084824755787849,0.005026827100664,0.029218370094895,0.051062304526567,0.065951280295849,0.009330773726106,-0.054088857024908,-0.128257930278778,0.056063991039991,0.001473463606089,0.003888113889843,-0.052677977830172,0.029841074720025,-0.011218775995076,0.050279013812542) * MODEL2_texOff(vec2(1,1));
res += mat4(0.008071267977357,-0.370971560478210,0.142546489834785,-0.015236017294228,0.213072761893272,0.119687877595425,-0.048548698425293,-0.047485925257206,-0.044947981834412,-0.191991269588470,0.098807275295258,-0.237763702869415,-0.087297469377518,0.151829585433006,-0.026601422578096,0.136634632945061) * MODEL3_texOff(vec2(-1,-1));
res += mat4(-0.230817496776581,-0.207180738449097,-0.137411817908287,-0.253302633762360,0.244215518236160,-0.263167738914490,0.107843294739723,-0.150418415665627,-0.101502485573292,-0.234200850129128,0.076754868030548,-0.345257461071014,-0.103823140263557,0.178841039538383,0.018521303310990,0.345509648323059) * MODEL3_texOff(vec2(-1,0));
res += mat4(-0.029119428247213,-0.046372804790735,-0.057328276336193,-0.007048268336803,0.012485269457102,0.016940984874964,-0.064462110400200,0.116894751787186,-0.060525111854076,-0.061620015650988,0.037127159535885,-0.042916290462017,-0.000156422000146,-0.007959678769112,0.059831310063601,-0.019892215728760) * MODEL3_texOff(vec2(-1,1));
res += mat4(0.153975665569305,-0.035763155668974,-0.025389166548848,-0.463310897350311,0.104643024504185,-0.025571798905730,0.161957502365112,0.214138865470886,-0.194941297173500,-0.274155318737030,-0.053460914641619,0.151720285415649,-0.067525506019592,-0.032348148524761,0.016344778239727,-0.515371203422546) * MODEL3_texOff(vec2(0,-1));
res += mat4(-0.397335112094879,0.194797813892365,0.150561690330505,-0.170358896255493,0.535670101642609,-0.183394506573677,-0.040355339646339,0.022033974528313,-0.123042613267899,-0.290939390659332,-0.443314492702484,0.066891655325890,-0.403912633657455,0.151551708579063,0.166675403714180,-0.747386097908020) * MODEL3_texOff(vec2(0,0));
res += mat4(0.151509150862694,-0.048408932983875,-0.098989039659500,0.091802120208740,-0.194397345185280,0.049381293356419,-0.196789309382439,-0.177422016859055,-0.004050169140100,-0.190225034952164,-0.039754603058100,0.134038776159286,0.141181439161301,-0.114071458578110,0.080744504928589,0.060006450861692) * MODEL3_texOff(vec2(0,1));
res += mat4(0.084331877529621,-0.001874830224551,-0.025300536304712,0.097472146153450,0.048915989696980,0.074146881699562,0.040553994476795,-0.032542478293180,-0.000811146106571,-0.058416649699211,0.017303302884102,0.241815835237503,-0.060774590820074,-0.016934549435973,-0.151287168264389,-0.231983780860901) * MODEL3_texOff(vec2(1,-1));
res += mat4(-0.223052665591240,0.043094862252474,-0.026889046654105,0.076406016945839,0.188533261418343,0.013418991118670,0.080353565514088,0.223322272300720,-0.141910165548325,-0.101063773036003,0.071428731083870,0.387146472930908,-0.188641473650932,0.117353148758411,0.043188631534576,-0.297499865293503) * MODEL3_texOff(vec2(1,0));
res += mat4(0.129084333777428,0.006198958493769,-0.043227057904005,0.000636505254079,-0.020507674664259,-0.090706564486027,-0.060230556875467,0.082950718700886,-0.043828316032887,-0.057455152273178,-0.069971539080143,0.034476913511753,0.135637640953064,-0.066116109490395,-0.005756389349699,-0.056573562324047) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.049199525266886,0.847255706787109,0.799417972564697,-0.031752221286297) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 3.200 * > OUTPUT.h LUMA.h 3.200 * > *
//!COMPONENTS 4
//!BIND MODEL1
//!BIND MODEL2
//!BIND MODEL3
//!SAVE MODEL6
//!DESC [AiUpscale_Fast_4x_LineArt_RT] mapping 4_3

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(-0.146982893347740,-0.096238955855370,0.014843177981675,-0.238108173012733);
res += mat4(0.094348326325417,-0.085121676325798,0.056595262140036,0.162154421210289,0.105298511683941,0.091493494808674,0.005123483017087,0.242639377713203,-0.205546438694000,-0.015414918772876,0.001084449002519,-0.313929885625839,0.059305276721716,0.005888623651117,0.102050594985485,-0.007388369645923) * MODEL1_texOff(vec2(-1,-1));
res += mat4(0.036781873553991,0.021133776754141,0.001890061539598,-0.053505700081587,0.172862082719803,-0.129351973533630,-0.157511487603188,0.820918858051300,0.290055215358734,-0.093978352844715,-0.035579971969128,-1.098519563674927,0.550957798957825,-0.502002000808716,0.184221893548965,0.711251974105835) * MODEL1_texOff(vec2(-1,0));
res += mat4(-0.207688540220261,0.066139191389084,0.008699876256287,-0.238751515746117,-0.018735542893410,-0.115555904805660,-0.047915935516357,0.044448230415583,-0.129797160625458,-0.070734865963459,-0.012936362996697,-0.126110374927521,0.119840793311596,0.074318476021290,-0.034790396690369,0.057431470602751) * MODEL1_texOff(vec2(-1,1));
res += mat4(-0.094685465097427,0.023357238620520,0.009534819051623,-0.429783225059509,0.099766343832016,0.115860946476460,-0.070875190198421,-0.068888947367668,0.019525151699781,0.029374649748206,0.024719543755054,0.022224927321076,-0.008191417902708,0.110316552221775,0.098243542015553,0.031219389289618) * MODEL1_texOff(vec2(0,-1));
res += mat4(-0.067282751202583,0.235403552651405,-0.028352661058307,-0.079619914293289,0.321439117193222,0.001365125644952,0.452748447656631,-0.184535443782806,-0.324795871973038,0.427661269903183,-0.176698818802834,0.121354758739471,0.548458874225616,0.499328315258026,-0.449995428323746,-0.174151986837387) * MODEL1_texOff(vec2(0,0));
res += mat4(-0.145781293511391,-0.177083253860474,0.014154537580907,0.062950119376183,-0.006380185019225,0.112455144524574,-0.104397699236870,-0.052275519818068,0.084441460669041,-0.197335258126259,0.052243541926146,-0.079967953264713,0.159099653363228,0.322057485580444,-0.078063070774078,-0.071609772741795) * MODEL1_texOff(vec2(0,1));
res += mat4(0.127141609787941,-0.049759134650230,-0.053813256323338,0.217806160449982,-0.089666031301022,0.040331430733204,-0.028631448745728,-0.036174133419991,0.014002010226250,-0.000982403638773,0.059733375906944,-0.006512031890452,0.092712745070457,0.023859497159719,0.064928978681564,-0.079193256795406) * MODEL1_texOff(vec2(1,-1));
res += mat4(0.036523982882500,-0.272480666637421,0.019057681784034,0.156948134303093,-0.040916528552771,-0.071072846651077,-0.237265527248383,0.060588847845793,-0.008773087523878,-0.060749538242817,0.088127888739109,-0.057736363261938,0.349803030490875,-0.194615483283997,0.041146416217089,0.019685024395585) * MODEL1_texOff(vec2(1,0));
res += mat4(-0.164910465478897,0.009669663384557,-0.020400336012244,-0.019723769277334,-0.082972168922424,-0.056420706212521,-0.009402137249708,-0.052963625639677,0.026929106563330,-0.139906764030457,0.038099456578493,-0.009221830405295,0.071100667119026,-0.072290286421776,-0.049165230244398,-0.043006360530853) * MODEL1_texOff(vec2(1,1));
res += mat4(-0.019624659791589,-0.021084723994136,-0.019438188523054,-0.131485685706139,-0.139610826969147,0.049407269805670,0.014896348118782,-0.045140631496906,0.004872367717326,-0.022690014913678,0.011778662912548,0.027054287493229,0.207869261503220,0.164008677005768,0.063764430582523,0.031808137893677) * MODEL2_texOff(vec2(-1,-1));
res += mat4(-0.312446117401123,0.103816606104374,-0.024219291284680,-0.755771636962891,-0.085233584046364,0.173171743750572,-0.052917055785656,0.258529335260391,0.047860778868198,0.075346261262894,0.033495284616947,0.103840440511703,-0.771586954593658,0.287740916013718,0.004903860855848,-0.633421599864960) * MODEL2_texOff(vec2(-1,0));
res += mat4(0.026461156085134,-0.033554036170244,0.044850077480078,0.071511767804623,-0.087836034595966,-0.083127759397030,0.021496001631021,-0.052039623260498,0.012734168209136,0.068511977791786,-0.015801068395376,-0.225396528840065,-0.128048256039619,0.077831789851189,0.122262477874756,0.194999530911446) * MODEL2_texOff(vec2(-1,1));
res += mat4(-0.176957294344902,-0.077965669333935,-0.056819841265678,-0.039976194500923,0.206346645951271,-0.130278721451759,0.188735589385033,0.265696942806244,0.025470383465290,-0.055512953549623,-0.000302396976622,-0.034236118197441,0.067106366157532,-0.042905446141958,0.046252358704805,-0.109494835138321) * MODEL2_texOff(vec2(0,-1));
res += mat4(0.005932907108217,-0.503649592399597,0.227881833910942,-0.456121891736984,0.007079092785716,1.008352637290955,-0.090791910886765,-0.265414834022522,-0.063399977982044,0.161388754844666,0.035470079630613,-0.156025648117065,0.430070251226425,-0.031321905553341,0.016578439623117,0.291853517293930) * MODEL2_texOff(vec2(0,0));
res += mat4(0.021034533157945,-0.219766333699226,-0.023036409169436,0.013761879876256,0.086856730282307,-0.332976162433624,-0.037895772606134,-0.067030541598797,-0.001612522173673,-0.054560773074627,0.007390615064651,0.237713947892189,-0.092265650629997,-0.325264364480972,0.009452004916966,-0.126755669713020) * MODEL2_texOff(vec2(0,1));
res += mat4(-0.090329468250275,0.045761849731207,-0.005834126379341,0.008556005544960,-0.289738327264786,0.135324060916901,0.152937248349190,-0.043778359889984,0.058976992964745,-0.005553673952818,0.043868161737919,-0.052571635693312,0.007318523712456,-0.036508295685053,0.034971587359905,0.004400286823511) * MODEL2_texOff(vec2(1,-1));
res += mat4(0.150113418698311,-0.243719011545181,-0.036640804260969,0.025263179093599,0.029404593631625,0.186841085553169,-0.153394490480423,0.126341640949249,-0.028417728841305,-0.026237202808261,0.027296574786305,0.022252852097154,-0.156730100512505,0.203208521008492,-0.084040038287640,-0.074664585292339) * MODEL2_texOff(vec2(1,0));
res += mat4(-0.053626656532288,0.079782761633396,-0.020719917491078,0.078907512128353,0.021093457937241,0.172077208757401,-0.028264388442039,0.053780477494001,-0.005255293566734,-0.064196243882179,-0.011104502715170,-0.027450796216726,-0.088450327515602,0.031940512359142,0.000937424018048,-0.056406322866678) * MODEL2_texOff(vec2(1,1));
res += mat4(-0.003703685710207,0.074786849319935,-0.066952966153622,0.051470495760441,-0.089924819767475,-0.039218548685312,-0.019996631890535,-0.030643429607153,0.070283889770508,-0.086824119091034,-0.005456187296659,0.051311641931534,0.206236198544502,0.087892159819603,0.028689427301288,0.405851811170578) * MODEL3_texOff(vec2(-1,-1));
res += mat4(-0.290637999773026,-0.038614302873611,-0.047591321170330,0.040962148457766,-0.065250068902969,-0.003858875716105,-0.015977350994945,-0.114741645753384,-0.120542921125889,0.095537468791008,0.014546548016369,-0.370808422565460,0.248894155025482,-0.224370062351227,0.045849122107029,-0.005756023339927) * MODEL3_texOff(vec2(-1,0));
res += mat4(-0.051367498934269,-0.129611119627953,0.044184140861034,-0.098980702459812,0.063894748687744,-0.003513059113175,0.002251080004498,-0.069709300994873,0.047478858381510,0.131312355399132,0.007962434552610,-0.085397846996784,-0.019364610314369,-0.019712444394827,0.046809781342745,0.039679095149040) * MODEL3_texOff(vec2(-1,1));
res += mat4(-0.046589277684689,-0.138393968343735,-0.074587233364582,0.126615673303604,-0.053592909127474,0.114709980785847,-0.063287653028965,0.101712934672832,0.047207899391651,-0.111110858619213,0.061003431677818,0.032670356333256,0.051425892859697,-0.041299663484097,-0.352409839630127,-0.028499655425549) * MODEL3_texOff(vec2(0,-1));
res += mat4(0.271365344524384,0.241437047719955,-0.045065756887197,0.453932374715805,0.033953033387661,-0.361156851053238,-0.051766321063042,0.253471463918686,0.301935732364655,-0.059782490134239,-0.023748340085149,0.596480131149292,-0.132776379585266,0.787116169929504,0.157751157879829,0.238643810153008) * MODEL3_texOff(vec2(0,0));
res += mat4(0.139316633343697,0.120601445436478,0.104263916611671,0.085079409182072,-0.036834191530943,0.101749800145626,-0.011562125757337,0.017028607428074,0.251117140054703,0.083624795079231,-0.054442461580038,0.149425044655800,0.046202149242163,-0.047352854162455,-0.028657777234912,0.106505230069160) * MODEL3_texOff(vec2(0,1));
res += mat4(-0.047966856509447,0.002908994443715,-0.030183030292392,-0.088929750025272,-0.239125788211823,-0.030842762440443,-0.036019850522280,-0.046348892152309,0.028780935332179,-0.056555267423391,-0.059373725205660,0.050845462828875,0.056113690137863,-0.043987449258566,-0.054396763443947,0.086518019437790) * MODEL3_texOff(vec2(1,-1));
res += mat4(-0.582859039306641,0.190481454133987,0.069551169872284,-0.004095135256648,-0.457606703042984,0.105479322373867,-0.023975715041161,0.037462111562490,-0.228719100356102,0.208012118935585,-0.112907625734806,0.072706826031208,0.252232402563095,-0.148210927844048,0.071953192353249,-0.012318274937570) * MODEL3_texOff(vec2(1,0));
res += mat4(0.069432251155376,0.060413736850023,0.092003390192986,-0.088349893689156,-0.042372144758701,0.069183558225632,-0.012970517389476,0.076288133859634,-0.042905427515507,0.318660557270050,-0.063096016645432,0.009837148711085,0.088618054986000,0.027773180976510,0.014990404248238,0.036869447678328) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.394836276769638,0.027294008061290,0.797349035739899,-0.008552880957723) * min(res, vec4(0.0));
#elif (SHARP == 1)
vec4 res = vec4(-0.051927693188190,-0.029925387352705,-0.083061546087265,-0.070074357092381);
res += mat4(-0.061824005097151,0.029145700857043,-0.021457981318235,-0.393592655658722,-0.159605577588081,0.025953449308872,0.092454932630062,-0.232194334268570,-0.144131526350975,0.077235490083694,0.167782306671143,-0.262169837951660,0.048676665872335,-0.258255064487457,0.023740656673908,0.046392884105444) * MODEL1_texOff(vec2(-1,-1));
res += mat4(-0.733936548233032,-0.134387642145157,0.111713610589504,-0.521452009677887,0.239063531160355,0.133679553866386,0.103274896740913,-0.031969975680113,-0.139977231621742,-0.151029571890831,-0.000569743395317,-0.430589050054550,0.057637725025415,0.334445416927338,0.148936793208122,0.260011821985245) * MODEL1_texOff(vec2(-1,0));
res += mat4(0.148271426558495,0.035756085067987,-0.036823060363531,-0.207904815673828,-0.068836361169815,-0.072052635252476,-0.037355460226536,-0.028953211382031,-0.155028790235519,-0.091288894414902,0.100019007921219,-0.222216248512268,-0.004863745532930,0.078766614198685,0.072362303733826,0.189958617091179) * MODEL1_texOff(vec2(-1,1));
res += mat4(-0.211136177182198,-0.249150246381760,-0.133845522999763,-0.108211755752563,-0.099302120506763,-0.388156771659851,-0.081240661442280,-0.030449802055955,-0.300300955772400,-0.730013966560364,-0.382692992687225,0.206374689936638,0.271773636341095,0.222445756196976,-0.073773600161076,-0.029648698866367) * MODEL1_texOff(vec2(0,-1));
res += mat4(-0.728865027427673,0.134098067879677,-0.523935019969940,0.100820362567902,0.602524280548096,-0.002598556922749,-0.043428864330053,0.105124160647392,-0.151787206530571,-0.299994260072708,0.100885227322578,0.222352176904678,-0.017393499612808,0.089334212243557,-0.185704648494720,-0.669581532478333) * MODEL1_texOff(vec2(0,0));
res += mat4(0.245634198188782,-0.033452156931162,-0.053323078900576,0.038173753768206,-0.023302188143134,0.274446994066238,0.060396984219551,-0.040893368422985,-0.466848909854889,-0.102149344980717,0.012349923141301,0.049600839614868,0.246218740940094,0.094218492507935,-0.022603875026107,-0.330132007598877) * MODEL1_texOff(vec2(0,1));
res += mat4(-0.146257773041725,-0.152758836746216,-0.218956142663956,0.098382927477360,-0.172142848372459,0.118795081973076,-0.097299702465534,0.062881939113140,-0.020408762618899,-0.125492155551910,0.059802476316690,0.067208997905254,0.160489603877068,0.033366646617651,0.156870856881142,-0.062064830213785) * MODEL1_texOff(vec2(1,-1));
res += mat4(-0.011250989511609,0.060032542794943,0.024439202621579,0.061027385294437,0.276037305593491,-0.095692828297615,0.004292696248740,-0.021638693287969,-0.140898644924164,-0.135855659842491,-0.387150973081589,-0.056854110211134,-0.232005655765533,0.086295761168003,0.317591756582260,0.335731476545334) * MODEL1_texOff(vec2(1,0));
res += mat4(0.059950690716505,-0.004813880659640,0.021307421848178,0.033931910991669,-0.075147286057472,-0.113698519766331,-0.042222488671541,0.104806497693062,-0.250107675790787,0.060325905680656,-0.128630116581917,-0.016541419550776,-0.022725034505129,0.102973990142345,0.115681059658527,0.090405501425266) * MODEL1_texOff(vec2(1,1));
res += mat4(0.133161127567291,0.004096923395991,0.081284731626511,0.028904160484672,0.131171748042107,0.135006189346313,-0.102612167596817,0.109255522489548,0.055387485772371,0.085546225309372,-0.045636441558599,-0.168279126286507,0.389554023742676,-0.351842552423477,-0.193160876631737,0.020281201228499) * MODEL2_texOff(vec2(-1,-1));
res += mat4(-0.105049759149551,-0.396795421838760,0.073861040174961,0.302968561649323,-0.363072246313095,-0.274921208620071,-0.058426439762115,0.055594284087420,-0.004178671166301,-0.187517270445824,-0.150907859206200,0.678078114986420,-0.424991816282272,0.169883698225021,-0.123529531061649,0.084998480975628) * MODEL2_texOff(vec2(-1,0));
res += mat4(-0.127392768859863,-0.046058684587479,0.199132457375526,0.141525268554688,-0.075364433228970,-0.106072634458542,-0.226747021079063,0.062336184084415,-0.159788042306900,-0.006913872901350,-0.155603975057602,0.129665523767471,-0.494379281997681,-0.115317836403847,0.153682917356491,0.010825911536813) * MODEL2_texOff(vec2(-1,1));
res += mat4(0.253320097923279,-0.109159462153912,0.096392452716827,-0.116372793912888,-0.089180923998356,-0.416527360677719,0.116454847157001,-0.088895261287689,-0.196298226714134,-0.464181363582611,0.057130374014378,0.033456146717072,0.155282318592072,-0.085464641451836,0.201669439673424,-0.055728174746037) * MODEL2_texOff(vec2(0,-1));
res += mat4(-0.188573673367500,-0.060975875705481,0.531585395336151,0.433710455894470,-0.222844868898392,-0.090261973440647,-0.158584177494049,0.486593365669250,0.198230788111687,0.551213026046753,0.458752810955048,-0.334887236356735,-0.182782426476479,-0.453380405902863,-0.783978998661041,-0.415630668401718) * MODEL2_texOff(vec2(0,0));
res += mat4(0.274110525846481,-0.260004967451096,-0.119217701256275,0.115543767809868,-0.347298681735992,0.180893212556839,0.263170719146729,0.112336501479149,-0.268086701631546,0.094557315111160,0.153666257858276,0.007116942666471,-0.302574723958969,0.220734968781471,-0.165371090173721,-0.209796413779259) * MODEL2_texOff(vec2(0,1));
res += mat4(-0.066511541604996,-0.367394983768463,0.070723749697208,0.125671073794365,-0.116043724119663,-0.161633312702179,-0.023095129057765,0.034215025603771,0.005001218058169,0.275081157684326,-0.056135244667530,-0.020125707611442,0.147257193922997,0.141653567552567,-0.044376131147146,-0.016121981665492) * MODEL2_texOff(vec2(1,-1));
res += mat4(-0.046863168478012,-0.120629332959652,0.099458523094654,-0.083555378019810,0.117079585790634,0.061090912669897,0.208706989884377,-0.225895076990128,0.074580512940884,-0.169231191277504,0.029668115079403,0.040275253355503,0.009165380150080,0.014094308950007,0.186221793293953,0.235235959291458) * MODEL2_texOff(vec2(1,0));
res += mat4(0.089416861534119,0.068376176059246,0.114381343126297,-0.064037233591080,-0.212535366415977,-0.040266454219818,-0.088456906378269,-0.059574913233519,-0.155626386404037,-0.025630773976445,0.076233975589275,-0.004451617598534,0.018028559163213,-0.152862280607224,0.110374189913273,0.150267675518990) * MODEL2_texOff(vec2(1,1));
res += mat4(0.073455005884171,-0.072214998304844,0.000775625754613,-0.244332775473595,0.147679522633553,0.068359859287739,-0.020485207438469,0.026724504306912,-0.003342595649883,0.003214261028916,-0.195511713624001,-0.077718168497086,-0.071293100714684,-0.058444745838642,0.100412078201771,-0.171800673007965) * MODEL3_texOff(vec2(-1,-1));
res += mat4(-0.221068099141121,-0.185382097959518,-0.244679629802704,-0.662028968334198,0.311803251504898,-0.071568869054317,-0.070595301687717,0.021292308345437,-0.068653181195259,-0.246530652046204,-0.639380693435669,-0.018412886187434,-0.078564718365669,0.189619064331055,0.226662963628769,-0.932593703269958) * MODEL3_texOff(vec2(-1,0));
res += mat4(0.202633515000343,0.156462073326111,0.008173561654985,0.141025438904762,-0.045038729906082,0.095398850739002,0.180135846138000,-0.067959144711494,-0.025166707113385,0.210392802953720,-0.251482486724854,-0.065007314085960,-0.000341175851645,-0.068436861038208,-0.032047286629677,0.009674217551947) * MODEL3_texOff(vec2(-1,1));
res += mat4(0.237042561173439,0.241849198937416,0.036806233227253,-0.010415048338473,-0.182868614792824,-0.160553544759750,0.040971670299768,-0.026129500940442,-0.146997839212418,-0.068234927952290,0.117918886244297,0.170098498463631,0.060747928917408,0.072218418121338,0.002124303486198,0.121242977678776) * MODEL3_texOff(vec2(0,-1));
res += mat4(-0.334640026092529,-0.303278386592865,0.262686491012573,0.037020880728960,0.563597440719604,0.173837944865227,-0.006372591014951,0.098299168050289,0.026324912905693,0.208997428417206,0.822580397129059,0.377798169851303,-0.348858237266541,-0.082296662032604,-0.526613056659698,-0.203567817807198) * MODEL3_texOff(vec2(0,0));
res += mat4(0.509314537048340,-0.106886923313141,0.108549214899540,0.022089397534728,0.217197075486183,-0.096602231264114,-0.262601256370544,0.112584576010704,-0.207725405693054,-0.025139648467302,0.252323389053345,0.182836785912514,-0.301622837781906,-0.042203735560179,0.148798599839211,-0.075909353792667) * MODEL3_texOff(vec2(0,1));
res += mat4(0.039025407284498,-0.081480033695698,0.009261311963201,0.075607210397720,-0.008699934929609,0.127850458025932,-0.032016880810261,-0.050585161894560,-0.012689705006778,0.014412609860301,0.044441036880016,0.014518772251904,0.055803656578064,-0.059137027710676,-0.164375916123390,-0.058425024151802) * MODEL3_texOff(vec2(1,-1));
res += mat4(-0.134448945522308,0.217721015214920,0.124907061457634,0.049458570778370,0.239850357174873,-0.016686314716935,0.237592965364456,-0.059246212244034,0.009731357917190,0.241318821907043,0.236867412924767,-0.074796445667744,-0.066136591136456,-0.699518918991089,-0.522331953048706,0.049588780850172) * MODEL3_texOff(vec2(1,0));
res += mat4(0.155348122119904,-0.182923406362534,0.106340333819389,0.096166461706161,0.039176639169455,-0.133228302001953,0.130439370870590,0.001926132012159,-0.156185090541840,-0.119652450084686,-0.067466720938683,-0.096017345786095,-0.234198957681656,0.127331867814064,-0.125507503747940,-0.024846270680428) * MODEL3_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.071801647543907,-0.001836072537117,-0.018110992386937,-0.042869202792645) * min(res, vec4(0.0));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 3.200 * > OUTPUT.h LUMA.h 3.200 * > *
//!COMPONENTS 4
//!BIND MODEL4
//!BIND MODEL5
//!BIND MODEL6
//!SAVE SUBCONV1
//!DESC [AiUpscale_Fast_4x_LineArt_RT] sup-pixel convolution 1

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(0.000350954622263,0.000903776090126,0.000849987962283,0.000127458682982);
res += mat4(0.026237031444907,-0.003388090990484,-0.026416616514325,-0.008941396139562,-0.014930843375623,-0.016945082694292,0.003642948577181,0.015802472829819,-0.001492454670370,-0.001327375881374,0.000189664613572,-0.000360447767889,0.008955397643149,0.002231337828562,-0.000680927536450,0.000229715282330) * MODEL4_texOff(vec2(-1,-1));
res += mat4(-0.006651846691966,-0.010041959583759,-0.007832122035325,0.013483297079802,0.001166705158539,0.001843914971687,0.004963752347976,-0.000684246129822,0.000283557339571,0.003109289100394,-0.003661073045805,-0.007922800257802,0.006662904750556,0.012409882619977,0.019288234412670,0.018721122294664) * MODEL4_texOff(vec2(-1,0));
res += mat4(0.004189629107714,0.004572120495141,0.002035373589024,-0.002997162751853,-0.001994733931497,-0.002619907492772,-0.000853630772326,0.002420280827209,0.004313531797379,0.001062083872966,-0.007359873969108,-0.007383616175503,-0.000919030979276,0.000006491104614,0.001383296679705,0.003420466324314) * MODEL4_texOff(vec2(-1,1));
res += mat4(0.006629944778979,0.001166255329736,-0.006321993190795,0.000635233300272,-0.042446691542864,0.033471979200840,0.031883273273706,0.003641125746071,0.006446479354054,-0.007897750474513,-0.003652613610029,-0.000446366029792,-0.012451348826289,0.005594168789685,-0.000526747200638,-0.004349564667791) * MODEL4_texOff(vec2(0,-1));
res += mat4(-0.000498796114698,-0.006557540968060,-0.019529445096850,-0.015226191841066,0.021935109049082,0.048733409494162,-0.000820133427624,-0.082255892455578,-0.127413988113403,-0.067013323307037,0.038166891783476,0.048467949032784,-0.021105989813805,-0.067117065191269,-0.103943012654781,-0.072872675955296) * MODEL4_texOff(vec2(0,0));
res += mat4(0.003290228778496,0.003033449174836,0.000009483805115,-0.002640518127009,-0.007390827406198,-0.008867615833879,-0.003696627449244,0.003019968979061,0.002397299045697,0.023581994697452,0.027817739173770,-0.044041063636541,-0.004624078515917,-0.003283414524049,-0.005217862315476,-0.009430821053684) * MODEL4_texOff(vec2(0,1));
res += mat4(-0.000230250268942,-0.000598892511334,0.000578847364523,0.001834938535467,-0.002882431494072,-0.011439610272646,-0.002274460392073,0.005009255371988,-0.000466581521323,0.001788590336218,0.000236036939896,0.000331691320753,-0.000184759395779,-0.000343699153746,-0.000002832740847,0.000165967940120) * MODEL4_texOff(vec2(1,-1));
res += mat4(0.002772954991087,0.002491897437721,0.001628457335755,0.001676445244811,0.003055481472984,-0.001767871319316,-0.000965300365351,0.004086114466190,0.003340983530506,0.006872827652842,-0.000237025466049,-0.005948718637228,-0.002680948469788,-0.006533742882311,-0.003005458042026,0.000801608315669) * MODEL4_texOff(vec2(1,0));
res += mat4(-0.001632867963053,-0.000826225732453,0.000436224800069,0.001672174548730,-0.001564559759572,-0.000465619843453,0.001681171008386,0.003069165628403,-0.000964070903137,-0.001583080855198,-0.003562685567886,-0.003911847248673,0.001126191928051,0.002099550329149,0.001664007897489,0.001786206034012) * MODEL4_texOff(vec2(1,1));
res += mat4(0.000775720691308,0.000282462278847,-0.003246971406043,-0.005609156098217,-0.006102168932557,-0.001362261711620,-0.000679774559103,0.001487536588684,0.018661148846149,-0.000594549288508,-0.002094774506986,-0.000783070572652,-0.003661331022158,0.001042297924869,0.005097970366478,0.004366412758827) * MODEL5_texOff(vec2(-1,-1));
res += mat4(0.026598539203405,0.038892425596714,-0.002969943219796,-0.012071115896106,0.015525848604739,0.009394048713148,0.012852645479143,-0.004709519911557,0.035701841115952,0.075067535042763,0.092431977391243,0.066060483455658,0.022928090766072,-0.001960986293852,-0.011989947408438,-0.011039596050978) * MODEL5_texOff(vec2(-1,0));
res += mat4(0.013359983451664,0.017887612804770,-0.027054408565164,-0.037060469388962,-0.005608025006950,-0.014274530112743,0.010136860422790,0.035183195024729,0.001319878385402,-0.001497362041846,-0.001982555259019,0.006016594357789,-0.007073579356074,-0.024334695190191,-0.008987579494715,0.026990801095963) * MODEL5_texOff(vec2(-1,1));
res += mat4(0.010492601431906,0.000298760511214,-0.005342635326087,-0.006043106317520,-0.004115481860936,0.001124330563471,-0.001372259226628,-0.000626871129498,-0.001731745782308,0.000561197462957,-0.000326936133206,0.000022323036319,-0.008979485370219,0.000453245942481,0.005628963932395,0.005954794120044) * MODEL5_texOff(vec2(0,-1));
res += mat4(0.020700251683593,0.002927307272330,-0.015458506532013,0.002949850866571,0.017252204939723,0.002469578757882,0.010080491192639,-0.001689316472039,-0.000433099980000,-0.004037681035697,-0.005921428557485,-0.006312811747193,0.023384373635054,-0.006721847224981,-0.018736334517598,-0.017279988154769) * MODEL5_texOff(vec2(0,0));
res += mat4(0.003731331788003,0.008572797290981,-0.002317131264135,0.003052686341107,-0.004971528891474,-0.012498673051596,0.018420156091452,0.045275330543518,-0.001493526739068,0.000469941733172,0.001543712336570,0.001962444279343,-0.011402884498239,-0.023095207288861,-0.000359994155588,0.032477870583534) * MODEL5_texOff(vec2(0,1));
res += mat4(-0.000288214389002,0.001070751110092,-0.000076399817772,0.000002526933258,0.000710868567694,-0.001110895536840,0.000503906805534,0.000867513241246,-0.000258603802649,-0.001540078199469,-0.001499251113273,-0.001528294640593,0.000843914167490,-0.001421570545062,-0.001590886851773,-0.001573465764523) * MODEL5_texOff(vec2(1,-1));
res += mat4(0.004406252410263,0.007024705875665,-0.000386922736652,-0.003573013469577,-0.006769035011530,-0.002296037971973,0.002015064703301,0.000307422655169,-0.000983496312983,-0.000151842614287,0.001110566314310,0.001566836028360,-0.002991608576849,0.000863836670760,0.004088423680514,0.003382875118405) * MODEL5_texOff(vec2(1,0));
res += mat4(-0.002019741805270,0.001986185787246,0.000759528833441,-0.004277011379600,-0.000022075617380,-0.001088853226975,-0.000683669175487,0.000012165883163,-0.001807955908589,-0.002924342872575,-0.003780560102314,-0.002847664756700,0.001844299375080,0.000946556450799,-0.000280022621155,-0.002199605340138) * MODEL5_texOff(vec2(1,1));
res += mat4(-0.008650906383991,-0.004998571705073,0.001717907260172,0.001940472982824,-0.014479222707450,-0.006365779321641,0.006239625159651,0.006494121626019,0.019786909222603,0.012136443518102,0.005621737334877,0.002204690594226,0.004494934808463,0.003841442987323,0.000676458294038,0.000785646203440) * MODEL6_texOff(vec2(-1,-1));
res += mat4(0.026499010622501,0.030982811003923,0.022079803049564,0.004595313686877,0.001218425109982,0.004062180873007,-0.000272363395197,-0.012087927199900,0.009303325787187,-0.000143837722135,0.000839160755277,0.013392721302807,-0.015014561824501,-0.020175293087959,-0.013974658213556,-0.003089823527262) * MODEL6_texOff(vec2(-1,0));
res += mat4(-0.004092509392649,-0.004672089125961,0.000947204243857,0.011524068191648,-0.002567903604358,-0.001039445283823,-0.002280233427882,-0.003145704511553,0.003831521607935,0.013482715003192,0.017720270901918,0.014379048720002,-0.000236270134337,-0.001792929950170,-0.004640594124794,-0.007087783887982) * MODEL6_texOff(vec2(-1,1));
res += mat4(-0.008684591390193,-0.000702230550814,0.002504867501557,0.001581351505592,0.047570392489433,0.013734000734985,-0.019186506047845,-0.017999442294240,0.011049655266106,0.011851052753627,0.005842437967658,0.002262992318720,0.012205993756652,0.006584381684661,0.001862145378254,0.001802862621844) * MODEL6_texOff(vec2(0,-1));
res += mat4(-0.029639529064298,-0.036089796572924,-0.035085685551167,-0.022063916549087,-0.012611597776413,-0.010022263042629,0.015439059585333,0.046799622476101,-0.011542784050107,-0.040826030075550,-0.045168019831181,-0.015662444755435,0.054296243935823,0.042698048055172,0.017252750694752,0.011469986289740) * MODEL6_texOff(vec2(0,0));
res += mat4(0.003683018498123,0.003269760403782,-0.005189310293645,-0.019091829657555,-0.000595303252339,0.003795501310378,0.005021375603974,-0.002158274874091,0.000549957447220,0.007145303767174,0.011628146283329,0.007869787514210,0.001287271850742,0.003409752622247,0.009281733073294,0.029403189197183) * MODEL6_texOff(vec2(0,1));
res += mat4(0.005438806954771,0.002406410174444,0.000974423834123,-0.000242994647124,-0.004953535739332,-0.003896269947290,0.000771224906202,0.001574799534865,-0.001911732368171,-0.000753637112211,0.001243350794539,-0.000195960601559,0.000830457429402,-0.002865441143513,0.000053078849305,0.002426874591038) * MODEL6_texOff(vec2(1,-1));
res += mat4(0.008949438109994,0.014204902574420,0.016412209719419,0.012253840453923,-0.002277352614328,-0.002391271060333,-0.000221177178901,-0.001211157068610,0.005227173678577,0.005475766025484,0.005180368665606,0.002422495977953,0.016103379428387,0.033401828259230,0.032319802790880,0.013944868929684) * MODEL6_texOff(vec2(1,0));
res += mat4(0.001505686435848,0.000060288693930,0.001271061832085,0.004954081028700,0.000658258330077,-0.000025225175705,-0.001668398617767,-0.001925936900079,0.000633898016531,-0.001957314554602,-0.002338191494346,0.001135295839049,0.002665781183168,0.002132925204933,0.003042929340154,0.005389161407948) * MODEL6_texOff(vec2(1,1));
#elif (SHARP == 1)
vec4 res = vec4(0.000246185198193,-0.000562763074413,-0.000648089800961,0.000122600977193);
res += mat4(-0.023010924458504,-0.000576049438678,0.016280217096210,0.011437131091952,-0.004431128501892,-0.049643963575363,-0.032915350049734,0.002657530596480,-0.007689800579101,-0.005082089453936,-0.001600416144356,-0.002101309131831,-0.002011764328927,0.003100509289652,0.005506692919880,0.003456922248006) * MODEL4_texOff(vec2(-1,-1));
res += mat4(0.006672277580947,0.036666363477707,0.041724219918251,-0.000460041890619,-0.013332131318748,0.014550733380020,0.063191629946232,0.062747344374657,-0.007362643256783,-0.000560129992664,0.013167970813811,0.002899508224800,-0.009936917573214,-0.015242390334606,-0.017252109944820,-0.011920567601919) * MODEL4_texOff(vec2(-1,0));
res += mat4(-0.000107559448224,0.001738589606248,-0.000157032554853,-0.006604856811464,0.001309438142926,0.001531230635010,0.000061408529291,-0.007537218742073,0.001705067115836,0.001729620853439,0.003453797893599,0.002020030748099,-0.000712541048415,-0.003311116015539,-0.006478790659457,-0.007913152687252) * MODEL4_texOff(vec2(-1,1));
res += mat4(0.049532875418663,0.003405841533095,-0.016471572220325,-0.007190804462880,-0.023915966972709,-0.009809065610170,0.001183809130453,0.003286115359515,0.011554363183677,-0.007503152359277,-0.008774688467383,-0.005579532124102,0.004440212622285,0.002140347613022,0.004460059106350,0.004316486418247) * MODEL4_texOff(vec2(0,-1));
res += mat4(-0.012426999397576,-0.012348975054920,0.026204170659184,0.069376394152641,0.004943806678057,0.001183057902381,-0.008842951618135,-0.019746968522668,-0.040020830929279,-0.060069173574448,0.016760854050517,0.047381483018398,0.031739756464958,0.038236323744059,0.032151907682419,0.018091531470418) * MODEL4_texOff(vec2(0,0));
res += mat4(0.001074032392353,-0.000836257822812,-0.002359665231779,-0.001688722055405,0.001382185146213,0.002920790575445,0.002789933700114,0.001759781618603,-0.003226102096960,-0.001916837762110,0.018246551975608,0.023684399202466,-0.007024475373328,-0.009325644001365,-0.004559198394418,0.009333614259958) * MODEL4_texOff(vec2(0,1));
res += mat4(-0.000213217703276,0.000988426734693,-0.000787673110608,-0.002859595231712,0.002477724105120,0.001193027244881,0.000789770740084,0.001050773775205,-0.002939227968454,0.001759642036632,0.000241332149017,-0.000672184163705,-0.002633660333231,-0.003738837083802,-0.005334496032447,-0.003467808710411) * MODEL4_texOff(vec2(1,-1));
res += mat4(-0.000266531307716,0.002309315837920,0.000076614924183,-0.002575248945504,0.001409295364283,0.003572606015950,0.004375468473881,0.004038257058710,0.003700231201947,0.007433984894305,0.002009461633861,-0.007978127337992,-0.006895087659359,-0.012851796112955,-0.013327157124877,-0.010129325091839) * MODEL4_texOff(vec2(1,0));
res += mat4(0.001349022961222,0.002282197121531,0.000913142925128,-0.000711605185643,-0.000255231105257,-0.001471275929362,-0.001350894104689,0.000177960639121,0.002162128454074,0.000489715894219,-0.002574862446636,-0.000450517632999,0.000715565693099,0.004512279760092,0.006965661421418,0.003242238191888) * MODEL4_texOff(vec2(1,1));
res += mat4(0.035490613430738,0.005069908685982,-0.009880374185741,-0.001845855847932,-0.005943389609456,0.000429617473856,0.004450134467334,0.003125055925921,0.012098864652216,0.017456784844398,0.014075945131481,0.005693566519767,0.002263684291393,0.000158596667461,-0.000972725276370,-0.001502996310592) * MODEL5_texOff(vec2(-1,-1));
res += mat4(0.040661174803972,-0.004377731587738,-0.060673773288727,-0.005518286954612,-0.008881571702659,-0.016922781243920,-0.020236087962985,-0.016357656568289,0.006180413533002,0.001886715879664,-0.000546401774045,0.003210267052054,0.060824003070593,0.030649432912469,0.002683692844585,0.001539688557386) * MODEL5_texOff(vec2(-1,0));
res += mat4(-0.002511597704142,-0.005006667226553,-0.009459219872952,0.005705961491913,-0.005362478084862,-0.005104367621243,-0.003907624632120,-0.003799614030868,0.005067321471870,0.007868531160057,0.010510457679629,0.010073210112751,-0.004088758025318,-0.007548767141998,0.009372721426189,0.046443168073893) * MODEL5_texOff(vec2(-1,1));
res += mat4(0.019222702831030,0.002873308723792,-0.001518113771453,-0.000151803731569,-0.012363554909825,0.001758227008395,0.012067808769643,0.010215876623988,0.001920136972331,0.005857984535396,0.003388480516151,0.001444283057936,-0.006205599755049,-0.005265443120152,-0.003035533474758,-0.001230285270140) * MODEL5_texOff(vec2(0,-1));
res += mat4(0.022639723494649,0.006542641669512,-0.027477433905005,0.000987948384136,0.040816858410835,0.021491626277566,-0.001048124860972,-0.015360963530838,-0.036393735557795,-0.034191962331533,-0.023336121812463,-0.010238385759294,0.021448742598295,0.054426398128271,0.042590096592903,0.004436919931322) * MODEL5_texOff(vec2(0,0));
res += mat4(0.000108204279968,0.000268771895207,-0.004137467592955,-0.001757398713380,-0.004683871753514,0.001270043896511,0.017817663028836,0.036000788211823,0.007416012231261,0.008009920828044,-0.001326628727838,-0.020669823512435,0.005385393276811,0.008459425531328,0.004285301081836,-0.001268461346626) * MODEL5_texOff(vec2(0,1));
res += mat4(-0.001637018867768,-0.000741235911846,0.001003160723485,0.000024274801035,-0.004228796809912,-0.001015079091303,0.000543200119864,0.000568610790651,0.006775076966733,0.000775929423980,-0.003973730839789,-0.003148263553157,-0.003092552535236,0.001308753155172,0.004855235107243,0.004362968262285) * MODEL5_texOff(vec2(1,-1));
res += mat4(-0.003103051567450,-0.000149001774844,0.000036557208659,0.000255222956184,-0.005728443618864,-0.005891121923923,-0.005355440080166,-0.005543656181544,0.003221923485398,0.002272047568113,0.003733416553587,0.006539113819599,0.000852109573316,-0.005674946587533,-0.005877234973013,-0.002830052748322) * MODEL5_texOff(vec2(1,0));
res += mat4(0.000550846743863,0.000322560430504,-0.001668759039603,-0.005002672318369,-0.001964011695236,-0.003903953358531,-0.004432893823832,-0.004981775302440,0.000442589225713,0.002599540166557,0.005505377892405,0.006434792652726,-0.000140459887916,-0.000003689972118,0.000875275058206,0.001900265458971) * MODEL5_texOff(vec2(1,1));
res += mat4(-0.025600424036384,0.004602777771652,0.011037860997021,0.002777122426778,0.013136023655534,-0.000271085446002,-0.006625796668231,-0.005284419283271,-0.016077902168036,-0.010162523947656,-0.005526836495847,0.000047762765462,-0.002748447703198,0.000631320173852,0.001770201371983,0.000023481397875) * MODEL6_texOff(vec2(-1,-1));
res += mat4(-0.005112910177559,0.015073011629283,0.020445924252272,-0.018556557595730,-0.044394068419933,0.004812571685761,0.040494378656149,0.031008252874017,-0.030935507267714,-0.062388066202402,-0.075103573501110,-0.049960676580667,-0.003093634732068,-0.005941015668213,-0.006430966313928,-0.004192587919533) * MODEL6_texOff(vec2(-1,0));
res += mat4(-0.003115118714049,-0.004168400075287,-0.000994703965262,0.000080357967818,0.006111817434430,0.004822826012969,-0.015578833408654,-0.047211244702339,-0.004132431931794,-0.007806519512087,-0.009937605820596,-0.010286315344274,-0.000922047300264,-0.000092477930593,0.000411538028857,-0.001014324370772) * MODEL6_texOff(vec2(-1,1));
res += mat4(-0.027566803619266,0.036419983953238,0.024995878338814,0.000775256834459,-0.003299815347418,0.008291301317513,-0.001645999262109,-0.004502372816205,-0.014584767632186,0.000286002788926,0.006101704202592,0.001407361007296,-0.002074616029859,-0.005800933111459,-0.003520904574543,0.000408411928220) * MODEL6_texOff(vec2(0,-1));
res += mat4(0.017009496688843,0.032317962497473,0.000973922375124,-0.062919050455093,0.054258015006781,0.030693560838699,-0.025672480463982,-0.037820070981979,-0.001285393140279,0.005329527892172,-0.000653716851957,-0.014178168959916,0.000229754601605,0.013810068368912,0.018073758110404,0.009818593971431) * MODEL6_texOff(vec2(0,0));
res += mat4(-0.005517207086086,-0.009063762612641,-0.003558131400496,0.007699725218117,-0.001596763846464,-0.009188113734126,-0.010494353249669,0.017575163394213,0.001575104077347,0.001380266272463,-0.004922148771584,-0.011076659895480,-0.001357323257253,-0.003183612134308,-0.006606511771679,-0.008346139453351) * MODEL6_texOff(vec2(0,1));
res += mat4(-0.001195494085550,-0.006795131135732,-0.004351199604571,0.001834318274632,-0.001833913498558,0.002717185765505,0.007938574068248,0.006317520514131,0.001553560490720,0.001738734077662,0.002277551684529,0.002899950137362,-0.018081661313772,-0.005760109517723,0.004231907427311,0.006134287919849) * MODEL6_texOff(vec2(1,-1));
res += mat4(-0.002731567481533,-0.002661294303834,0.005444137379527,0.005938419140875,-0.007407465018332,-0.004953888710588,0.000287634262349,0.000796124571934,-0.003019044874236,-0.003577101510018,-0.003177914069965,-0.001018370152451,-0.018500728532672,-0.040812760591507,-0.046632654964924,-0.034984018653631) * MODEL6_texOff(vec2(1,0));
res += mat4(0.000931234506425,0.001942546805367,0.002085068961605,0.001802633982152,0.000856939586811,-0.002242467133328,-0.005819644778967,-0.006893482990563,0.000318836391671,-0.001629325444810,-0.001504237065092,-0.000998203875497,-0.002384230727330,-0.001125068170950,0.001264344900846,-0.000806496478617) * MODEL6_texOff(vec2(1,1));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 3.200 * > OUTPUT.h LUMA.h 3.200 * > *
//!COMPONENTS 4
//!BIND MODEL4
//!BIND MODEL5
//!BIND MODEL6
//!SAVE SUBCONV2
//!DESC [AiUpscale_Fast_4x_LineArt_RT] sup-pixel convolution 2

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(0.000070425056037,0.000243303104071,0.000095626230177,-0.000201366434339);
res += mat4(-0.013409711420536,-0.008287403732538,-0.003485295455903,0.007366688922048,-0.006092851515859,-0.010295672342181,0.003197519341484,0.010733838193119,0.001372145721689,-0.000682651530951,0.001095947460271,0.001679644803517,-0.001070857746527,-0.001434533740394,-0.002832712605596,-0.001354668056592) * MODEL4_texOff(vec2(-1,-1));
res += mat4(0.004143382422626,-0.003446343354881,-0.022907620295882,-0.028788298368454,-0.000551999837626,-0.003563558217138,0.001570343389176,0.004661348648369,-0.005133156664670,0.001444908790290,0.003280428005382,0.001124522532336,-0.007607311010361,-0.008404222317040,-0.005569941829890,-0.002217190107331) * MODEL4_texOff(vec2(-1,0));
res += mat4(0.002118057338521,0.000698542455211,-0.000277464569081,0.000660388788674,0.000258793821558,0.000024914830647,0.000057390065194,0.001056344946846,0.001327417674474,0.003783720545471,-0.000346300512319,-0.005885354243219,0.001260412042029,-0.000414730864577,-0.003052602987736,-0.005176028702408) * MODEL4_texOff(vec2(-1,1));
res += mat4(0.014564830809832,-0.009972229599953,-0.029825784265995,-0.010573847219348,-0.040647808462381,0.035379234701395,0.029902564361691,0.002302021952346,0.000836884952150,-0.005104567855597,-0.001612098538317,-0.001306009246036,-0.007514143828303,0.002688796725124,0.001582012861036,0.001662582741119) * MODEL4_texOff(vec2(0,-1));
res += mat4(-0.009880423545837,-0.018469393253326,-0.028205076232553,-0.010186422616243,0.024839146062732,0.057456899434328,0.005713520105928,-0.083597190678120,-0.037578508257866,-0.008405745029449,0.036092434078455,0.027588400989771,-0.010046995244920,-0.035060018301010,-0.058734331279993,-0.042949758470058) * MODEL4_texOff(vec2(0,0));
res += mat4(0.002567557152361,0.001001533120871,-0.003970670979470,-0.007928961887956,-0.008803183212876,-0.011105841957033,-0.004222724121064,0.004395234864205,0.000268834584858,0.007368424441665,0.017414674162865,-0.003356275381520,-0.004325671587139,-0.001613363041542,-0.001533079892397,-0.005617615301162) * MODEL4_texOff(vec2(0,1));
res += mat4(-0.000318869162584,0.000377308315365,0.001919908216223,0.002453519962728,-0.004695424810052,-0.011127862147987,0.002812615130097,0.010189085267484,-0.006870907731354,0.003345747478306,0.001535633346066,-0.000383752339985,0.006302329245955,-0.001718102372251,-0.001501862192526,0.000577283906750) * MODEL4_texOff(vec2(1,-1));
res += mat4(0.002134300768375,0.000925788830500,-0.001393449376337,-0.001183724729344,0.002454964909703,-0.002146126702428,0.000722973491065,0.005481102969497,0.034587599337101,0.022564044222236,-0.007920461706817,-0.021587507799268,-0.004423475358635,0.003893940709531,0.018376722931862,0.019398031756282) * MODEL4_texOff(vec2(1,0));
res += mat4(-0.001759046339430,-0.001692435937002,-0.001675089821219,-0.000327823188854,-0.001768158981577,-0.000787721772213,0.001521450700238,0.003555457340553,-0.002329081064090,-0.009185457602143,-0.003648931626230,0.018492678180337,0.002193156396970,0.004621278494596,0.002188719110563,-0.002385660773143) * MODEL4_texOff(vec2(1,1));
res += mat4(0.000630661263131,0.001245041494258,-0.001623763004318,-0.003887554397807,-0.007332568056881,-0.001009952044114,0.001333717722446,0.003406923497096,-0.018491819500923,-0.006290559191257,0.007145587820560,0.006895390804857,-0.001644705538638,-0.000897953112144,0.001656153472140,0.002630329923704) * MODEL5_texOff(vec2(-1,-1));
res += mat4(0.020001409575343,0.011393481865525,-0.007786567788571,-0.005070194602013,0.009114521555603,-0.000496560765896,-0.009286289103329,-0.015751263126731,-0.019770897924900,-0.025704003870487,-0.029532477259636,-0.027443541213870,0.009989336133003,0.001787173445337,-0.003323614830151,-0.005169686861336) * MODEL5_texOff(vec2(-1,0));
res += mat4(0.003428207710385,0.000834898499306,-0.014491564594209,-0.004632174968719,-0.001770161208697,-0.009241373278201,-0.003099323948845,0.012565476819873,0.002018017927185,0.002822186565027,-0.001221928279847,-0.009683254174888,-0.000770097598433,-0.007974124513566,-0.004153469111770,0.009477423503995) * MODEL5_texOff(vec2(-1,1));
res += mat4(0.011216133832932,0.000442044460215,-0.006312606856227,-0.008308712393045,0.004969317466021,-0.001312842592597,-0.007245595566928,-0.004519485402852,-0.009597173891962,0.000142947450513,0.001805542851798,0.001861422788352,-0.011196585372090,0.002269451040775,0.008404634892941,0.006646307185292) * MODEL5_texOff(vec2(0,-1));
res += mat4(0.022560492157936,0.022952184081078,-0.016380529850721,-0.004768151789904,-0.083214558660984,-0.055184315890074,0.034448068588972,0.032427377998829,-0.004958451259881,-0.018121894448996,-0.026849230751395,-0.023416895419359,0.037671741098166,-0.010170593857765,-0.027075782418251,-0.022865502163768) * MODEL5_texOff(vec2(0,0));
res += mat4(0.009355611167848,0.022854102775455,-0.019164796918631,-0.036213159561157,-0.003206812078133,-0.005168202798814,0.031015506014228,0.013689119368792,-0.001690844190307,-0.000745511206333,-0.000063593426603,0.000115897841169,-0.012656004168093,-0.040288668125868,-0.007312085945159,0.052034381777048) * MODEL5_texOff(vec2(0,1));
res += mat4(-0.001715916441754,0.000159359813551,-0.000289676245302,-0.000349746958818,0.003028500126675,-0.002118086908013,0.000386163505027,0.002547950018197,0.000921239436138,-0.000177674664883,-0.000512517639436,-0.000803176546469,0.001178326201625,-0.001239787554368,-0.000811663630884,-0.000357818673365) * MODEL5_texOff(vec2(1,-1));
res += mat4(0.003526515327394,0.004930187948048,-0.001827824860811,-0.004579556640238,-0.013002153486013,-0.005833405535668,0.002870825352147,0.003880848875269,0.000485300377477,0.001635549822822,0.003073958912864,0.003021608805284,-0.005237248726189,0.001107000163756,0.006178819108754,0.005342817865312) * MODEL5_texOff(vec2(1,0));
res += mat4(-0.003508072579280,-0.000088055312517,0.000849501404446,-0.003087333170697,0.001397075015120,0.001668319106102,-0.002842118032277,-0.008060469292104,-0.001812021946535,-0.002931474475190,-0.003395249135792,-0.001881018164568,0.001716953120194,0.003388337325305,0.000641428923700,-0.004850085824728) * MODEL5_texOff(vec2(1,1));
res += mat4(-0.007363601587713,-0.000921745435335,0.003177996026352,0.001188017777167,0.012892408296466,0.004242983646691,-0.000735775625799,-0.005163448862731,0.016867401078343,0.007842843420804,0.002143472665921,0.000310652772896,0.005883934441954,0.002552138874307,-0.000506718002725,-0.000286434864393) * MODEL6_texOff(vec2(-1,-1));
res += mat4(0.003363529918715,0.003926318138838,0.002007864182815,-0.003094476880506,-0.003828451735899,0.002863806672394,0.015693625435233,0.020469361916184,0.013571493327618,0.007186943199486,0.008158223703504,0.016127802431583,-0.001761477207765,-0.003359707305208,0.000278369319858,0.005416767671704) * MODEL6_texOff(vec2(-1,0));
res += mat4(-0.000744989258237,-0.000050348913646,0.002408077940345,0.002741391537711,-0.001032195636071,0.001913090469316,0.000958428950980,-0.002525972668082,0.003104669973254,0.010878444649279,0.016644619405270,0.017072720453143,0.001988549483940,0.000267727067694,-0.002732298802584,-0.001679521519691) * MODEL6_texOff(vec2(-1,1));
res += mat4(0.001288203522563,0.002773017389700,0.001762877800502,-0.000606895366218,0.072581477463245,0.028759203851223,-0.014903843402863,-0.017015736550093,0.006060549989343,0.011884883046150,0.007756600622088,0.003144755959511,0.005564298015088,-0.002294722944498,-0.001589391496964,0.003616308094934) * MODEL6_texOff(vec2(0,-1));
res += mat4(-0.014982046559453,-0.017411408945918,-0.014943160116673,-0.004311141092330,-0.010366768576205,-0.000753521220759,0.035322275012732,0.072473250329494,-0.021690784022212,-0.053465683013201,-0.057314246892929,-0.023747524246573,0.058704461902380,0.071499995887280,0.053459927439690,0.025045782327652) * MODEL6_texOff(vec2(0,0));
res += mat4(0.003204421838745,0.003208865178749,-0.003005507867783,-0.010850680060685,0.001878691837192,0.008803803473711,0.010675664059818,0.000743364100344,0.001914544263855,0.009669237770140,0.011101625859737,0.001648099743761,-0.002277093008161,-0.004598353058100,0.001842642319389,0.024338707327843) * MODEL6_texOff(vec2(0,1));
res += mat4(0.001922622905113,0.000384655519156,0.000701523444150,-0.000928163586650,-0.004108571913093,-0.002485091798007,0.002098238794133,0.001512572285719,0.004040601663291,0.004290318116546,0.005037512630224,0.001198159880005,-0.006365565583110,-0.012982798740268,-0.006332487333566,0.001250820001587) * MODEL6_texOff(vec2(1,-1));
res += mat4(0.010658088140190,0.015955636277795,0.015296272002161,0.009312218986452,-0.001524179941043,-0.001158176921308,0.001813908922486,0.000088224864157,0.012124106287956,0.014097539708018,0.013316930271685,0.009355430491269,0.013555096462369,0.036756526678801,0.037030145525932,0.014919725246727) * MODEL6_texOff(vec2(1,0));
res += mat4(0.000710922409780,-0.000964954262599,0.000804191746283,0.005315413232893,0.000480275863083,0.000604396162089,-0.000010451227354,-0.000374473835109,-0.000274981342955,-0.002037865575403,-0.001250244094990,0.004766511265188,-0.001336496439762,-0.003118832129985,-0.006957629229873,-0.007601136341691) * MODEL6_texOff(vec2(1,1));
#elif (SHARP == 1)
vec4 res = vec4(0.000157191141625,-0.000321425701259,-0.000224866904318,0.000177658657776);
res += mat4(0.011591617949307,0.007410098798573,0.008361357264221,0.004009707830846,-0.070308685302734,-0.044341698288918,0.005016193725169,0.021178226917982,-0.005433259066194,-0.002336656674743,-0.000822069356218,-0.001323711359873,0.004274708218873,0.002124219201505,0.001574479159899,0.000398159201723) * MODEL4_texOff(vec2(-1,-1));
res += mat4(0.001413773396052,0.019108667969704,0.042018674314022,0.035579666495323,0.006711379624903,0.032857175916433,0.031479015946388,-0.025089060887694,-0.002184806624427,0.003841556608677,0.004175439476967,-0.004426819738001,0.003487544599921,0.004215444438159,0.003652185900137,0.003908176906407) * MODEL4_texOff(vec2(-1,0));
res += mat4(0.000195185260964,0.002395653398708,0.003905270481482,0.000891380535904,-0.000120946373499,-0.000787895289250,-0.001670218189247,-0.003403486218303,0.000959373079240,0.001754143042490,-0.000091380847152,-0.003025121288374,-0.005080085713416,-0.005295267794281,-0.002575023099780,0.000535944476724) * MODEL4_texOff(vec2(-1,1));
res += mat4(0.061138831079006,0.030244359746575,-0.003288415726274,-0.006691434420645,-0.011560402810574,0.004265162162483,0.008465834893286,0.004367120098323,0.008452580310404,-0.008971849456429,-0.009352106601000,-0.007337191607803,-0.011881251819432,-0.002266029128805,0.006531496532261,0.007906929589808) * MODEL4_texOff(vec2(0,-1));
res += mat4(0.013985326513648,0.000532366102561,0.007313468493521,0.047034192830324,-0.002340430393815,-0.008823393844068,-0.020062856376171,-0.022680977359414,-0.041540388017893,-0.061956152319908,0.025182120501995,0.052234627306461,0.037182670086622,0.023955274373293,0.003298139199615,-0.012741592712700) * MODEL4_texOff(vec2(0,0));
res += mat4(-0.002088253153488,-0.002808000659570,-0.000384728540666,0.008294417522848,0.003969261888415,0.005742975510657,0.002622366650030,-0.002425795886666,-0.001298251212575,-0.001249267603271,0.021871719509363,0.031380075961351,-0.005209397990257,-0.001474782358855,0.012192171066999,0.028249347582459) * MODEL4_texOff(vec2(0,1));
res += mat4(-0.002142107114196,0.000478127039969,0.001092888298444,-0.001489434973337,0.002576238475740,0.001837553456426,0.001627961406484,0.001800533733331,-0.001950508099981,0.000375856820028,-0.001304549281485,-0.001022706273943,-0.001499008387327,-0.002651444869116,-0.004075800534338,-0.002477696398273) * MODEL4_texOff(vec2(1,-1));
res += mat4(-0.001832722919062,0.003108795965090,0.003882726188749,-0.001898925285786,0.002255300292745,0.004332293756306,0.004064690321684,0.003867825958878,-0.001605448662303,0.002434660913423,0.003462816821411,-0.004259350243956,-0.018823999911547,-0.022409658879042,-0.019846754148602,-0.012253765948117) * MODEL4_texOff(vec2(1,0));
res += mat4(0.001299093943089,0.002827368676662,0.002643419429660,0.001285238540731,-0.001277750241570,-0.002887367736548,-0.002359910169616,-0.000123030389659,0.002723308978602,0.001213521347381,-0.002347132191062,-0.001921084709466,0.006078814622015,0.007583610713482,0.003968905191869,-0.005519087426364) * MODEL4_texOff(vec2(1,1));
res += mat4(0.017655219882727,0.001498738536611,-0.001441712025553,0.003585351398215,0.001637824811041,0.002163797849789,0.003425361122936,0.002247544238344,0.011355609633029,0.012890573590994,0.010005187243223,0.004367060028017,-0.001820442499593,0.002218581503257,0.002551635960117,0.001566184335388) * MODEL5_texOff(vec2(-1,-1));
res += mat4(0.021092893555760,0.000820723478682,-0.030296424403787,-0.002305186120793,0.003517394419760,0.001606630510651,-0.000025287883545,-0.000369533634512,0.009602952748537,0.010251579806209,0.009921174496412,0.010240160860121,0.018411606550217,0.008671994321048,-0.006481497548521,-0.007618511561304) * MODEL5_texOff(vec2(-1,0));
res += mat4(-0.001817772863433,-0.003547867061570,-0.006923486478627,-0.000956965144724,-0.002158078132197,-0.000893852324225,0.001508637331426,0.003674374427646,0.002185081364587,0.004908009897918,0.008438203483820,0.009063051082194,-0.000387947569834,-0.004902207292616,-0.005631056614220,0.005430004559457) * MODEL5_texOff(vec2(-1,1));
res += mat4(0.037594985216856,0.003284041071311,-0.009897313080728,-0.003911634907126,-0.017552997916937,-0.000324637308950,0.010962087661028,0.009785188362002,-0.000128880667035,0.008238600566983,0.005907885264605,0.002463940763846,-0.007031913381070,-0.010613677091897,-0.008201167918742,-0.005088883452117) * MODEL5_texOff(vec2(0,-1));
res += mat4(0.043355096131563,0.002954521216452,-0.061802066862583,-0.001413439749740,0.024067347869277,0.002008838113397,-0.018634315580130,-0.027391860261559,-0.039234448224306,-0.045396730303764,-0.039062637835741,-0.022242147475481,-0.063300453126431,-0.032195560634136,-0.000633498071693,-0.002607235452160) * MODEL5_texOff(vec2(0,0));
res += mat4(-0.000781883718446,-0.000830899516586,-0.008603774011135,-0.000499206886161,-0.004963401239365,-0.000122434517834,0.013048167340457,0.025812894105911,0.005695855244994,0.005565015133470,-0.001765550347045,-0.018510514870286,0.000292477110634,0.005656980443746,-0.006302040535957,-0.041257772594690) * MODEL5_texOff(vec2(0,1));
res += mat4(-0.002889371709898,0.001289296196774,0.004182664211839,0.002056376542896,-0.006286995485425,-0.002137118019164,0.000295710808132,0.000486876204377,0.009503040462732,0.003241763683036,-0.004060368519276,-0.004880855791271,-0.004663974978030,0.000173628402990,0.003632544307038,0.003729630261660) * MODEL5_texOff(vec2(1,-1));
res += mat4(-0.003881911281496,0.002734649693593,0.006408173125237,0.000951067253482,0.000159364484716,-0.002356118056923,-0.004580479115248,-0.006480502430350,0.001311717205681,0.000598817598075,0.001546338782646,0.005835753865540,0.001454970915802,-0.005956165958196,-0.008271843194962,-0.004535316489637) * MODEL5_texOff(vec2(1,0));
res += mat4(0.000037285368307,-0.000343748164596,-0.000357413606253,-0.003686438547447,-0.004297133535147,-0.006091003771871,-0.003810100024566,-0.000487443612656,0.002696922048926,0.004410752095282,0.004680758807808,0.003746417816728,0.001230393303558,-0.002115814015269,-0.003378692548722,0.000247686752118) * MODEL5_texOff(vec2(1,1));
res += mat4(-0.008405035361648,0.002846630057320,0.003422315465286,-0.000546618888620,-0.001866740756668,-0.007260498125106,-0.007763398345560,-0.004891215357929,-0.016395086422563,-0.015357605181634,-0.007007656618953,0.001355599844828,0.000242655296461,0.001434046891518,0.001234368071891,-0.000420063355705) * MODEL6_texOff(vec2(-1,-1));
res += mat4(-0.005084539763629,0.001511202426627,0.008081478998065,-0.003923839889467,0.006283726077527,0.022725783288479,0.017466356977820,0.000922731589526,0.017866916954517,0.012514396570623,-0.006108853500336,-0.017529901117086,0.003654751460999,0.003280416829512,0.002628949005157,0.001933275838383) * MODEL6_texOff(vec2(-1,0));
res += mat4(-0.000171214982402,-0.000268232048256,0.000914855743758,-0.000160565497936,0.001011622720398,-0.004049377050251,-0.010059708729386,-0.009447251446545,-0.006754424888641,-0.011477538384497,-0.011329549364746,0.001640387112275,-0.001090466626920,-0.000133100082166,0.001601115567610,0.002573134843260) * MODEL6_texOff(vec2(-1,1));
res += mat4(-0.043112564831972,0.037701364606619,0.029358958825469,0.002734472975135,0.009176333434880,0.004784161224961,-0.006115085445344,-0.004063733853400,-0.001657930901274,-0.003952181898057,-0.001058982219547,-0.000927033252083,-0.005653563421220,-0.003867028746754,-0.002231962280348,-0.000904808461200) * MODEL6_texOff(vec2(0,-1));
res += mat4(0.013606011867523,0.043292965739965,0.013835462741554,-0.076573580503464,0.049479641020298,-0.005231285002083,-0.046607289463282,-0.023886211216450,0.021369904279709,0.046261738985777,0.053478803485632,0.028429104015231,-0.018840596079826,-0.017525766044855,-0.012370161712170,-0.008192200213671) * MODEL6_texOff(vec2(0,0));
res += mat4(-0.007181167136878,-0.012410645373166,-0.006335887126625,0.006105293054134,-0.005596843082458,-0.007050151936710,0.009158633649349,0.043680485337973,-0.000485455006128,-0.002445590682328,-0.001970488112420,0.002753940876573,0.004040442872792,0.002712828107178,-0.002626241883263,-0.009774075821042) * MODEL6_texOff(vec2(0,1));
res += mat4(-0.003314435714856,-0.004956196993589,-0.002088088542223,0.001843942562118,-0.003516690572724,0.004071051720530,0.010164336301386,0.007466620299965,0.001134976162575,0.000879541097675,0.001019047340378,0.002323057735339,-0.018797520548105,0.000522495131008,0.010997224599123,0.009779165498912) * MODEL6_texOff(vec2(1,-1));
res += mat4(-0.000815747014713,-0.003708583535627,0.002669951645657,0.002215628977865,-0.005029940977693,-0.001026459853165,0.004605846945196,0.000263026973698,-0.004450201056898,-0.006091441027820,-0.006583811715245,-0.002978249918669,0.000189910366316,-0.033386141061783,-0.056646794080734,-0.046832229942083) * MODEL6_texOff(vec2(1,0));
res += mat4(-0.000062718063418,0.001519071171060,0.003252468770370,0.005200997926295,-0.001037674373947,-0.002822680398822,-0.002319786231965,-0.002592309843749,0.000748075428419,-0.001584032084793,-0.003616187255830,-0.004401246551424,-0.002416863804683,0.000498643668834,0.006908443290740,0.011885820887983) * MODEL6_texOff(vec2(1,1));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 3.200 * > OUTPUT.h LUMA.h 3.200 * > *
//!COMPONENTS 4
//!BIND MODEL4
//!BIND MODEL5
//!BIND MODEL6
//!SAVE SUBCONV3
//!DESC [AiUpscale_Fast_4x_LineArt_RT] sup-pixel convolution 3

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(0.000195254848222,-0.000236323568970,-0.000547311559785,-0.000262461340753);
res += mat4(-0.005281697027385,-0.000157580783707,0.003821616061032,0.006072625983506,-0.001078728935681,0.000151330736117,0.003674302250147,0.003460907144472,0.000618866877630,-0.000012347396478,0.000911311188247,0.000982952769846,-0.003105718409643,-0.001045514596626,-0.001207233639434,-0.000082909791672) * MODEL4_texOff(vec2(-1,-1));
res += mat4(0.003536944976076,0.000279094936559,-0.009701851755381,-0.013586889021099,-0.000675559043884,-0.002361815655604,-0.001222104183398,0.000250582088483,-0.000759450020269,0.000737653521355,0.001223780564032,0.000881885993294,-0.009900713339448,-0.012427937239408,-0.012388668954372,-0.009564851410687) * MODEL4_texOff(vec2(-1,0));
res += mat4(0.003152633551508,0.002688694512472,0.000588643015362,0.001068520243280,0.001436481135897,0.001437703031115,0.000728279468603,-0.000077622746176,-0.001969970297068,0.001176279620267,0.002772949868813,0.001462549320422,0.002137280534953,-0.000069998299296,-0.003709719516337,-0.006146071478724) * MODEL4_texOff(vec2(-1,1));
res += mat4(0.066450372338295,0.005671870894730,-0.044673413038254,-0.022041412070394,-0.029092192649841,0.015121004544199,0.016421439126134,0.005536237731576,-0.008165797218680,-0.001119962660596,0.000626206514426,-0.002604167442769,0.007428060751408,-0.002558630425483,-0.001712072291411,0.002941256621853) * MODEL4_texOff(vec2(0,-1));
res += mat4(-0.015386324375868,-0.015966698527336,0.002133900299668,0.048965733498335,0.017527233809233,0.044037528336048,0.011326336301863,-0.052100591361523,0.043920196592808,0.032998971641064,0.006582644768059,-0.011842196807265,0.027737658470869,0.042570829391479,0.041859857738018,0.027146182954311) * MODEL4_texOff(vec2(0,0));
res += mat4(0.004747249651700,0.005373391788453,-0.001412029378116,-0.011329745873809,-0.008397062309086,-0.010466380976140,-0.003971213009208,0.004071101546288,-0.004124308936298,-0.014010754413903,-0.004818422719836,0.026030581444502,-0.004031046759337,-0.001455147517845,0.002442625584081,0.007838255725801) * MODEL4_texOff(vec2(0,1));
res += mat4(0.001455724239349,0.002476437017322,0.002146509243175,0.000424769445090,-0.012810361571610,-0.001167642418295,0.011915503069758,0.010379541665316,-0.005805513355881,0.003456578124315,0.003053956199437,0.000800175126642,0.016189062967896,-0.001109468983486,-0.005603333469480,-0.000825546914712) * MODEL4_texOff(vec2(1,-1));
res += mat4(0.000147525424836,0.000166997051565,-0.002276850864291,-0.001869266969152,0.006494942586869,0.009202640503645,0.004351126495749,-0.007458006963134,0.021673399955034,0.016649659723043,0.004027768038213,-0.010804726742208,0.018504295498133,0.037873033434153,0.047334734350443,0.037996597588062) * MODEL4_texOff(vec2(1,0));
res += mat4(-0.000475826876936,0.000353037525201,-0.001657495857216,-0.003320262767375,-0.001873195054941,-0.002379719866440,-0.001106616342440,0.001459375838749,-0.002568523632362,-0.006228975486010,0.007482375018299,0.024397028610110,0.001681830384769,0.002405615756288,-0.000143999917782,0.001454889075831) * MODEL4_texOff(vec2(1,1));
res += mat4(0.001515986281447,0.001406518276781,-0.000177442576387,-0.001591091509908,-0.001548675820231,-0.000291720702080,0.002633408177644,0.005033167544752,-0.021643109619617,-0.001357328495942,0.009449164383113,0.007883919402957,-0.000502835144289,-0.001913967193104,-0.001029639039189,0.000603417807724) * MODEL5_texOff(vec2(-1,-1));
res += mat4(0.009902345947921,-0.004542821552604,-0.006556593347341,0.001443729619496,-0.010463213548064,-0.008585088886321,-0.005821435246617,-0.005482331383973,-0.025579787790775,-0.050239041447639,-0.065067678689957,-0.051623295992613,0.000988041050732,0.002116973279044,0.001081536174752,-0.001323477597907) * MODEL5_texOff(vec2(-1,0));
res += mat4(-0.001497752498835,-0.005413814913481,-0.003280811244622,0.010198389180005,0.003021721029654,0.001070395926945,-0.002515145111829,-0.005800939630717,0.001794681185856,0.003414114471525,0.000925704429392,-0.008351527154446,0.002473647706211,0.002919744700193,0.002025938360021,0.001550862682052) * MODEL5_texOff(vec2(-1,1));
res += mat4(0.007359155453742,-0.001467369962484,-0.007503322791308,-0.009716613218188,0.010067983530462,-0.003095054998994,-0.008501448668540,-0.003836710005999,-0.011941815726459,-0.000387814041460,0.003448430681601,0.001875089248642,-0.012131175026298,0.002637515543029,0.009314585477114,0.006210632622242) * MODEL5_texOff(vec2(0,-1));
res += mat4(0.016165208071470,0.047200374305248,-0.006746606901288,-0.009414105676115,-0.124943003058434,-0.070985771715641,0.055914495140314,0.051753971725702,-0.016113441437483,-0.028703441843390,-0.034083105623722,-0.027503119781613,0.046893458813429,-0.009718320332468,-0.029057815670967,-0.023998348042369) * MODEL5_texOff(vec2(0,0));
res += mat4(0.018741827458143,0.037308540195227,-0.039882749319077,-0.084584392607212,-0.001891638035886,0.001267764135264,0.041382700204849,0.001479372614995,-0.000188317615539,0.000146444974234,-0.001907368889078,-0.005597382783890,-0.013941370882094,-0.050544023513794,-0.012571224011481,0.062568426132202) * MODEL5_texOff(vec2(0,1));
res += mat4(0.002954038325697,0.000691650668159,-0.001078651635908,-0.000475146720419,-0.001398419961333,-0.003952774684876,-0.000655522511806,0.002529062330723,0.000800186709967,0.001198603189550,0.001159340725280,0.000909650756512,0.000532784790266,-0.000056448821852,0.001158416271210,0.001840759534389) * MODEL5_texOff(vec2(1,-1));
res += mat4(-0.000718833645806,-0.004709379281849,-0.005244932603091,-0.000028484835639,-0.003264527767897,-0.005559698212892,-0.004761583171785,-0.002798451576382,0.003026295918971,0.001761119347066,0.001471444033086,0.000870509655215,-0.002715971088037,-0.000559692678507,0.001674064085819,0.001153806224465) * MODEL5_texOff(vec2(1,0));
res += mat4(-0.006139273755252,-0.005474904552102,-0.000802436086815,0.001130290911533,0.001001090859063,0.000838039035443,-0.003760208608583,-0.004604280460626,-0.000311889016302,-0.001128862029873,0.000175213659531,0.003111981553957,-0.001498106750660,0.003376448061317,0.003581728320569,-0.001544244471006) * MODEL5_texOff(vec2(1,1));
res += mat4(-0.006871508434415,0.001277569448575,0.004996686242521,0.002890542382374,0.004709271714091,0.003980144392699,0.002033991273493,-0.001654097577557,0.007752711419016,0.002977511379868,0.000609656446613,-0.000222164206207,0.002798381261528,-0.000908167334273,-0.002062775194645,-0.000592321914155) * MODEL6_texOff(vec2(-1,-1));
res += mat4(-0.014601523987949,-0.019306311383843,-0.018716525286436,-0.013494770973921,-0.000791144557297,0.001918567228131,0.006396070122719,0.007084648124874,0.011380197480321,0.008927390910685,0.008085004054010,0.009873372502625,0.005332844797522,0.006125797517598,0.006640493404120,0.005535192787647) * MODEL6_texOff(vec2(-1,0));
res += mat4(-0.000393149093725,-0.000064375642978,-0.000915273500141,-0.006928592920303,-0.002363018924370,-0.001397411921062,-0.000362301507266,-0.000414463953348,0.002991924993694,0.007699789013714,0.010581286624074,0.011302743107080,0.003087704069912,0.002931260503829,0.002573082922027,0.004164119251072) * MODEL6_texOff(vec2(-1,1));
res += mat4(0.007714038714767,0.002673190785572,0.002343271393329,0.002384134568274,0.002006400609389,-0.004963569343090,-0.008696950972080,-0.002890334697440,0.002732625696808,0.008005871437490,0.005436299368739,0.001465687877499,0.001607333426364,-0.001237838645466,-0.001757123973221,0.001538411364891) * MODEL6_texOff(vec2(0,-1));
res += mat4(0.023598799481988,0.027619451284409,0.023545835167170,0.016407821327448,-0.006427695043385,-0.007477056235075,-0.007645223289728,-0.005039827432483,-0.024604784324765,-0.053770273923874,-0.056341439485550,-0.025129066780210,-0.010815772227943,-0.005420604720712,0.000687675434165,0.000482376373839) * MODEL6_texOff(vec2(0,0));
res += mat4(0.001696725608781,0.001700028777122,0.003871428547427,0.011682768352330,-0.002287080744281,0.001511784619652,0.004555455408990,0.000961175421253,0.001512713846751,0.010198200121522,0.009462279267609,-0.002456408692524,0.000134986170451,-0.000321951403748,-0.000674805836752,-0.004109811037779) * MODEL6_texOff(vec2(0,1));
res += mat4(-0.008487304672599,-0.003576467279345,0.000544770504348,-0.000279052415863,-0.009589413180947,-0.003450356889516,0.003296642331406,0.003973379731178,0.014081254601479,0.010875947773457,0.007047979626805,0.002005508402362,-0.007691476959735,-0.007653145585209,-0.006465113721788,-0.003832454793155) * MODEL6_texOff(vec2(1,-1));
res += mat4(-0.003527290886268,-0.004699292592704,-0.008788482286036,-0.010652731172740,0.003230480477214,-0.001105822972022,-0.005414488725364,-0.010545137338340,0.014275689609349,0.008624772541225,0.007969278842211,0.013290751725435,-0.046778608113527,-0.054184071719646,-0.042853794991970,-0.019054828211665) * MODEL6_texOff(vec2(1,0));
res += mat4(-0.000835112063214,-0.001825504237786,-0.001912571955472,-0.003020960371941,0.000337676145136,-0.000109428117867,0.002285989932716,0.005596580915153,-0.001450196141377,-0.000210756479646,0.004972441587597,0.012182377278805,0.000450792605989,0.003203978296369,-0.011125748977065,-0.033932562917471) * MODEL6_texOff(vec2(1,1));
#elif (SHARP == 1)
vec4 res = vec4(0.000112626788905,0.000251426972682,0.000329198170220,0.000283996574581);
res += mat4(0.010015621781349,0.003905023913831,0.001564226695336,-0.000327213580022,-0.046084675937891,0.014035396277905,0.033351890742779,0.014916644431651,-0.000394236296415,0.000987660954706,0.001294997986406,0.000687057385221,0.004706791602075,-0.000107421466964,-0.001487751607783,-0.001345135155134) * MODEL4_texOff(vec2(-1,-1));
res += mat4(-0.004947605077177,-0.009386167861521,0.000485821365146,0.013283238746226,0.013376696966588,0.015930378809571,-0.024685008451343,-0.069172859191895,-0.001258540898561,0.002780000679195,-0.000032640658901,-0.003450428601354,0.008465874940157,0.011138955131173,0.010100032202899,0.008383130654693) * MODEL4_texOff(vec2(-1,0));
res += mat4(0.000349557114532,0.001430588541552,0.002654470270500,0.002308872062713,-0.000093381604529,-0.001301685813814,-0.003422233508900,-0.000082456041127,0.001072794664651,0.001726845861413,-0.001783243147656,-0.004639097023755,-0.004771590232849,-0.003040167037398,0.001671105157584,0.004923727363348) * MODEL4_texOff(vec2(-1,1));
res += mat4(-0.025000838562846,0.008604893460870,0.007125550415367,-0.002026852918789,0.037602730095387,0.024885481223464,0.003227094421163,-0.007112761493772,0.000613812764641,-0.009587211534381,-0.008775996044278,-0.007824941538274,-0.021508868783712,-0.004989276174456,0.006823862902820,0.008956254459918) * MODEL4_texOff(vec2(0,-1));
res += mat4(0.015117051079869,-0.014363732188940,-0.068729937076569,-0.077509894967079,-0.013055284507573,-0.021174469962716,-0.013966056518257,0.015475778840482,-0.033692192286253,-0.045898888260126,0.026941860094666,0.039266116917133,0.011965804733336,-0.007794294040650,-0.028267977759242,-0.035880986601114) * MODEL4_texOff(vec2(0,0));
res += mat4(-0.007410654332489,-0.006758097559214,-0.003356528701261,0.005681300070137,0.005714524537325,0.006718692835420,0.002098286524415,-0.004984411876649,0.000288598472252,-0.000605654320680,0.017631081864238,0.026218986138701,-0.000035699758882,0.004878066014498,0.014086721464992,0.018588563427329) * MODEL4_texOff(vec2(0,1));
res += mat4(-0.012478860095143,-0.012203366495669,-0.003982074558735,-0.001410848810337,0.000466561323265,0.001593918306753,0.002007690491155,0.000485090276925,0.000556071929168,-0.003183177905157,-0.004430346656591,-0.002241458743811,0.005536508280784,0.001610948122106,-0.000136362868943,0.000250121840509) * MODEL4_texOff(vec2(1,-1));
res += mat4(-0.004829433746636,-0.002774866530672,0.003337504575029,-0.001802417333238,0.002946931403130,0.004553761798888,0.003560929559171,0.002791896462440,-0.009744436480105,-0.012731929309666,0.005431912373751,0.007470780983567,-0.023514579981565,-0.014225908555090,-0.005096935201436,0.002065176144242) * MODEL4_texOff(vec2(1,0));
res += mat4(0.000140013507917,0.000659650715534,0.002305534202605,0.003385953605175,-0.001062810770236,-0.002349559683353,-0.002138230949640,-0.000966435647570,0.001365364063531,0.001334143104032,0.003229501657188,0.004502374678850,0.007824419997633,0.004235150292516,-0.006930561736226,-0.019262485206127) * MODEL4_texOff(vec2(1,1));
res += mat4(0.002135656075552,-0.002409753855318,0.001841470599174,0.004369567614049,0.004131621681154,0.002289640018716,0.001561609911732,0.000538888445590,0.007183360401541,0.006353500299156,0.004308308940381,0.001652219216339,-0.000787846685853,0.001519911922514,0.002175852656364,0.002542667090893) * MODEL5_texOff(vec2(-1,-1));
res += mat4(0.004356181714684,0.003602221375331,-0.005162147805095,0.001014074077830,0.009288453496993,0.009172925725579,0.007841078564525,0.006159865297377,0.003258762648329,0.003964493516833,0.004633649252355,0.006441407836974,-0.007224775850773,-0.000180472343345,-0.000195207481738,-0.002358122961596) * MODEL5_texOff(vec2(-1,0));
res += mat4(-0.000312691583531,-0.000220206304220,-0.001169030903839,-0.003497298108414,0.000067785193096,0.001857912749983,0.005609280429780,0.008543806150556,-0.003623030846938,-0.002769779879600,0.000409386440879,0.002409796696156,0.000752551073674,-0.002785646822304,-0.008947247639298,-0.013806504197419) * MODEL5_texOff(vec2(-1,1));
res += mat4(0.056093618273735,0.008556034415960,-0.013941906392574,-0.005458065308630,-0.017474532127380,-0.000633973220829,0.009372389875352,0.007897495292127,0.002780387643725,0.013201026245952,0.009613449685276,0.003395723178983,0.009365651756525,-0.002542174886912,-0.006695573683828,-0.006058841012418) * MODEL5_texOff(vec2(0,-1));
res += mat4(0.058344058692455,-0.002491388469934,-0.087644815444946,-0.001671283971518,0.003839758690447,-0.017004551365972,-0.031382013112307,-0.032405573874712,-0.028488822281361,-0.037467081099749,-0.036378111690283,-0.022131590172648,-0.082610487937927,-0.084151543676853,-0.033134922385216,0.007458187639713) * MODEL5_texOff(vec2(0,0));
res += mat4(-0.002670251298696,-0.004731645341963,-0.014157420955598,0.001662244088948,-0.005147501826286,-0.002670308109373,0.005414554383606,0.011984787881374,0.005130816251040,0.005714672617614,0.001496634213254,-0.010337217710912,-0.002597918733954,0.002055404009297,-0.001222389168106,-0.030853779986501) * MODEL5_texOff(vec2(0,1));
res += mat4(-0.006314089987427,-0.000065606291173,0.005583429243416,0.003782074199989,-0.005511471070349,0.000289922725642,0.004012987483293,0.003478259546682,0.010248037055135,0.006416671909392,-0.001055478234775,-0.003767518093809,0.001534163369797,0.004335114732385,0.003828027518466,0.002185956807807) * MODEL5_texOff(vec2(1,-1));
res += mat4(-0.002698600292206,0.005372778978199,0.006703633349389,-0.002758849645033,0.015973458066583,0.009273787029088,0.001134935533628,-0.005144388880581,-0.003855354851112,0.000569722964428,0.004026208538562,0.007285652682185,0.010772504843771,0.007945005781949,0.000295652338536,0.000011630503650) * MODEL5_texOff(vec2(1,0));
res += mat4(0.000188636593521,-0.000019564484319,0.001075406791642,-0.001973507460207,-0.005580305121839,-0.005924445576966,0.000991542241536,0.010864350944757,0.007866351865232,0.010254884138703,0.006441538687795,-0.000787024444435,0.003346707206219,0.000680279918015,-0.001963883405551,0.002713057911023) * MODEL5_texOff(vec2(1,1));
res += mat4(0.002115280833095,0.002605783985928,0.000423142017098,-0.000466822821181,-0.004109363537282,-0.005137627944350,-0.004290394484997,-0.002360945101827,0.004716038703918,0.001269474742003,0.002205780940130,0.002162080258131,0.002130720298737,0.001132067525759,0.000447051133960,-0.000191977975192) * MODEL6_texOff(vec2(-1,-1));
res += mat4(-0.001242901314981,-0.003924856893718,-0.002164822537452,0.000886485795490,0.016275031492114,0.006152269896120,-0.005540130194277,-0.008446117863059,0.025921482592821,0.030769735574722,0.026141736656427,0.014639836736023,0.006140069570392,0.006740942131728,0.005965682212263,0.004439244978130) * MODEL6_texOff(vec2(-1,0));
res += mat4(0.002490917453542,0.002620540093631,0.001541228033602,-0.000152047257870,0.002251940546557,0.002449654741213,0.007376053836197,0.015617638826370,-0.004557647276670,-0.002962623024359,0.000822577567305,0.010732755996287,-0.001733668032102,-0.001267027924769,0.001028082333505,0.003613470587879) * MODEL6_texOff(vec2(-1,1));
res += mat4(-0.049645010381937,0.028921732679009,0.027898680418730,0.004725656937808,0.026484772562981,0.006019935477525,-0.003557790070772,-0.000599418417551,0.026490988209844,0.007141396868974,-0.000391136156395,-0.000234819250181,-0.005046033300459,-0.002939023310319,-0.002882767235860,-0.002938631456345) * MODEL6_texOff(vec2(0,-1));
res += mat4(0.006786550860852,0.043729152530432,0.027797171846032,-0.067301884293556,-0.018187467008829,-0.056254632771015,-0.029552631080151,0.022016983479261,0.022621365264058,0.036495104432106,0.055943973362446,0.054042324423790,-0.014420982450247,-0.016118902713060,-0.012841965071857,-0.008257881738245) * MODEL6_texOff(vec2(0,0));
res += mat4(-0.007230494637042,-0.012088955380023,-0.005973876919597,0.004864266142249,-0.003676116233692,0.006705759558827,0.026423521339893,0.026956828311086,0.002064189175144,0.005572618916631,0.016258198767900,0.023522965610027,0.004409696906805,0.002607184927911,-0.002190755447373,-0.006982994265854) * MODEL6_texOff(vec2(0,1));
res += mat4(-0.007264784071594,0.003616354893893,0.002396564697847,0.000681316189002,-0.006528433877975,0.005599632859230,0.008215827867389,0.004119245335460,-0.000758203910664,0.001242795493454,0.001017770846374,0.001480009523220,0.006931517738849,0.010236241854727,0.009918879717588,0.006211853120476) * MODEL6_texOff(vec2(1,-1));
res += mat4(0.002617991063744,0.001416304614395,0.000010472629583,-0.010683064348996,-0.000578402075917,0.008059562183917,0.006962440442294,-0.005607320927083,-0.002543444978073,-0.005126140080392,-0.008953182026744,-0.006495123729110,0.042167417705059,0.039436612278223,0.019861733540893,0.007879126816988) * MODEL6_texOff(vec2(1,0));
res += mat4(-0.002095933770761,-0.001576073234901,0.001074892817996,0.005131921265274,-0.003918090835214,-0.004142500460148,-0.002295175800100,-0.002365730004385,0.001341022318229,0.001479070284404,-0.001777875004336,-0.004997245967388,-0.002329442650080,-0.002074628137052,0.003793224925175,0.019112300127745) * MODEL6_texOff(vec2(1,1));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 3.200 * > OUTPUT.h LUMA.h 3.200 * > *
//!COMPONENTS 4
//!BIND MODEL4
//!BIND MODEL5
//!BIND MODEL6
//!SAVE SUBCONV4
//!DESC [AiUpscale_Fast_4x_LineArt_RT] sup-pixel convolution 4

vec4 hook()
{

#if (SHARP == 0)
vec4 res = vec4(-0.000130519096274,-0.000281365442788,-0.000422831566539,-0.000403901212849);
res += mat4(0.005409116391093,0.001477854559198,-0.001586929312907,-0.002019010949880,-0.000341942242812,0.005505912471563,0.004014633130282,-0.000350550195435,-0.000649482710287,-0.000005752505331,-0.000223221606575,-0.000487196259201,-0.001213908661157,0.000965971790720,0.002038789680228,0.002246111165732) * MODEL4_texOff(vec2(-1,-1));
res += mat4(-0.001792904571630,-0.001065868767910,0.000810465542600,0.004439426586032,-0.002250488847494,-0.000715242058504,-0.001918949536048,-0.004775908309966,-0.000984108424746,-0.001847609877586,-0.002096866490319,-0.001415594015270,-0.007032645866275,-0.009205433540046,-0.009606816805899,-0.007564174477011) * MODEL4_texOff(vec2(-1,0));
res += mat4(0.002398541197181,0.003005760954693,0.000144494697452,-0.001029341248795,0.001357428962365,0.001113854232244,0.000198581241420,-0.001449486822821,-0.001421091612428,-0.000255506543908,0.001741710118949,0.002033634576946,0.001091471640393,0.000284824898699,-0.002041378524154,-0.003698948770761) * MODEL4_texOff(vec2(-1,1));
res += mat4(0.086831606924534,0.014215163886547,-0.045365478843451,-0.025833105668426,-0.023742249235511,-0.012730963528156,0.003438292769715,0.012601069174707,-0.008681334555149,-0.000595949066337,0.000434454501374,-0.002485901815817,0.013470851816237,-0.000140885342262,-0.001399828703143,0.001349393394776) * MODEL4_texOff(vec2(0,-1));
res += mat4(-0.015788054093719,-0.011324951425195,0.020709419623017,0.077202901244164,0.009205791167915,0.021077007055283,0.009011565707624,-0.020468506962061,0.033792208880186,0.018730163574219,-0.013087759725749,-0.023247905075550,0.030009824782610,0.048467990010977,0.057192530483007,0.043039403855801) * MODEL4_texOff(vec2(0,0));
res += mat4(0.005633648019284,0.008480807766318,0.002653541276231,-0.009847474284470,-0.006470053922385,-0.007135068532079,-0.001791518297978,0.004316586535424,-0.000905290071387,-0.010933241806924,-0.012711154296994,0.011490136384964,-0.002804579213262,-0.000556678685825,0.003753495402634,0.011669968254864) * MODEL4_texOff(vec2(0,1));
res += mat4(0.005296849180013,0.006630328483880,0.005137660540640,0.003399653593078,-0.027288991957903,0.013702308759093,0.021525414660573,0.006667892448604,0.001497419434600,-0.002884774468839,0.000440937525127,0.001785936881788,0.004482974298298,0.000871795753483,-0.007261620368809,-0.005337935872376) * MODEL4_texOff(vec2(1,-1));
res += mat4(0.001670011202805,0.001750925905071,-0.002548848744482,-0.002140711061656,0.014815904200077,0.027054425328970,0.002034766133875,-0.039888702332973,-0.073549896478653,-0.038258515298367,0.023775525391102,0.025787271559238,0.014174472540617,0.004966092761606,-0.014209088869393,-0.010466773062944) * MODEL4_texOff(vec2(1,0));
res += mat4(0.002235545543954,0.003769243601710,0.000760191353038,-0.002858096733689,-0.004238188266754,-0.005783629603684,-0.003818749682978,0.000868745672051,-0.001770048984326,0.011856214143336,0.022189097478986,-0.016902713105083,-0.002138205571100,-0.003216548822820,-0.005788069684058,-0.001180480234325) * MODEL4_texOff(vec2(1,1));
res += mat4(0.003475409001112,0.002020970452577,0.000883319240529,0.000122652520076,0.001013483735733,-0.000010710569768,0.002151295077056,0.003387655830011,-0.001195553224534,-0.002136044437066,-0.003519633086398,-0.001707317191176,0.000944066152442,-0.001315736444667,-0.001809641835280,-0.000857520964928) * MODEL5_texOff(vec2(-1,-1));
res += mat4(0.007531099021435,-0.001865445170552,-0.003848552936688,0.001220840029418,-0.011049618944526,-0.004692987538874,0.002540194662288,0.001870692358352,0.010488033294678,0.012005891650915,0.005975690670311,-0.000167200792930,-0.003233639057726,0.000072916125646,0.002603614237159,0.001428084564395) * MODEL5_texOff(vec2(-1,0));
res += mat4(-0.002462309086695,-0.003003509948030,0.001928025274538,0.010067109018564,0.003015837864950,0.001844159909524,0.000034465312638,-0.005030725151300,-0.004106002394110,-0.005077553912997,-0.003359971567988,0.000697936629876,0.002123662503436,0.004028686787933,0.003832452930510,-0.000138464602060) * MODEL5_texOff(vec2(-1,1));
res += mat4(0.002343519125134,-0.002308022463694,-0.006662785075605,-0.008917661383748,0.003987111151218,-0.002303144196048,-0.004403715021908,-0.000241517715040,0.014488412067294,0.003282159799710,0.000916008837521,-0.000652938033454,-0.010730599984527,0.001678897882812,0.008346172049642,0.005910203792155) * MODEL5_texOff(vec2(0,-1));
res += mat4(0.020591348409653,0.059656951576471,0.003022216958925,-0.011940428987145,-0.052972212433815,-0.022764934226871,0.048934772610664,0.030810616910458,0.016063945367932,0.040491819381714,0.055266860872507,0.043044321238995,0.042747419327497,-0.005461875814945,-0.023749060928822,-0.020453879609704) * MODEL5_texOff(vec2(0,0));
res += mat4(0.022375669330359,0.037485715001822,-0.041224826127291,-0.083711311221123,-0.005087106022984,-0.006731188390404,0.033643778413534,0.027025027200580,0.002264351351187,0.001239062054083,-0.000619094702415,0.001445398083888,-0.013230684213340,-0.044489666819572,-0.013404612429440,0.052581951022148) * MODEL5_texOff(vec2(0,1));
res += mat4(0.009834486059844,0.002004953566939,-0.002995708724484,-0.002448921091855,-0.006662138737738,-0.001902545918711,-0.000231108220760,0.001524786581285,-0.001065257471055,0.001254394534044,0.001847901497968,0.001617939444259,-0.002685123588890,0.000326742680045,0.002994195790961,0.003882603719831) * MODEL5_texOff(vec2(1,-1));
res += mat4(0.000940215599257,-0.010324977338314,-0.008171103894711,0.007012620568275,0.032019618898630,0.012238032184541,-0.006188649684191,-0.013062502257526,-0.000454055640148,-0.002916538156569,-0.003431711113080,-0.004114157520235,0.006544019561261,-0.003677845932543,-0.008067076094449,-0.007863770239055) * MODEL5_texOff(vec2(1,0));
res += mat4(-0.001651715720072,-0.002197049558163,0.000461920659291,0.006143555976450,-0.002550774719566,-0.006242253351957,0.003754985053092,0.025770658627152,0.002372831339017,0.001760445302352,0.002705999417230,0.004715788178146,-0.007555129472166,-0.004977323114872,0.005156480707228,0.011409740895033) * MODEL5_texOff(vec2(1,1));
res += mat4(-0.006176508497447,0.000413178000599,0.004565412644297,0.004172447603196,-0.001933101331815,0.004688940942287,0.007728556171060,0.005319082643837,0.002307792892680,0.000991955748759,0.000492258230224,0.000241369241849,0.000196564811631,-0.002102677244693,-0.002140492666513,-0.000557539984584) * MODEL6_texOff(vec2(-1,-1));
res += mat4(-0.017593348398805,-0.023729763925076,-0.023506874218583,-0.015393259935081,0.004393320530653,0.005032699089497,0.001540720462799,-0.003633968997747,0.007511821109802,0.006637550890446,0.004536894150078,0.003505714004859,0.007718991488218,0.008765707723796,0.006114116404206,0.001497080200352) * MODEL6_texOff(vec2(-1,0));
res += mat4(0.000755904533435,-0.000198488065507,-0.003566619474441,-0.010270570404828,-0.001820364734158,-0.002172514796257,0.000086227846623,0.002747180406004,0.002877378603444,0.004360375925899,0.004010636825114,0.004385306034237,0.001098150387406,0.000952343689278,0.003272066824138,0.006117906887084) * MODEL6_texOff(vec2(-1,1));
res += mat4(0.001764877117239,-0.001299115596339,0.004065069369972,0.006628666538745,-0.055903423577547,-0.030118290334940,0.001451442134567,0.013109901919961,0.007478455081582,0.006977553945035,0.004035323858261,0.001270618289709,0.002061449224129,0.001474693999626,-0.002122347243130,-0.001160793239251) * MODEL6_texOff(vec2(0,-1));
res += mat4(0.046730231493711,0.053884409368038,0.041801989078522,0.017637297511101,-0.000164410652360,-0.009470475837588,-0.037384521216154,-0.064385682344437,-0.010997027158737,-0.031384430825710,-0.032865069806576,-0.011179693974555,-0.037815220654011,-0.043363120406866,-0.030461186543107,-0.012950294651091) * MODEL6_texOff(vec2(0,0));
res += mat4(-0.001255781622604,-0.001828857813962,0.006238642148674,0.024402540177107,-0.004314390942454,-0.004599610343575,-0.003011496737599,-0.000990826985799,0.003576675197110,0.012373776175082,0.011731424368918,0.002171383006498,0.000237686181208,0.000480643560877,-0.002021671272814,-0.014142968691885) * MODEL6_texOff(vec2(0,1));
res += mat4(-0.014222048223019,-0.004296057857573,0.001713777543046,0.001831570756622,-0.003377186832950,-0.004337254446000,-0.006208340171725,-0.003063797252253,0.018109723925591,0.014230730943382,0.007028307300061,0.001922076684423,0.008476243354380,0.010677772574127,0.002020414918661,-0.004471141844988) * MODEL6_texOff(vec2(1,-1));
res += mat4(-0.019603203982115,-0.027809262275696,-0.031841464340687,-0.026338784024119,-0.001326570753008,-0.009109615348279,-0.012484087608755,-0.009432233870029,0.005712864920497,-0.013060967437923,-0.015116075985134,0.003497079480439,-0.037725910544395,-0.071794502437115,-0.069433480501175,-0.023491416126490) * MODEL6_texOff(vec2(1,0));
res += mat4(-0.000448695704108,-0.000302768225083,-0.003275681054220,-0.011432017199695,-0.000791049096733,-0.000819432723802,0.002756667556241,0.005231374874711,-0.001390010933392,0.003700076835230,0.011928497813642,0.015832204371691,0.005135963205248,0.012791609391570,0.003378951922059,-0.014050018973649) * MODEL6_texOff(vec2(1,1));
#elif (SHARP == 1)
vec4 res = vec4(-0.000268629373750,-0.000298227008898,-0.000285646034172,-0.000127100473037);
res += mat4(0.008408236317337,0.002550909994170,-0.001529979635961,-0.001074350555427,0.009955965913832,0.034674398601055,0.014086207374930,-0.006210034713149,0.000180952367373,0.001191955176182,0.002329328795895,0.001980214379728,0.004970571491867,0.000539432221558,-0.002051898278296,-0.002393109491095) * MODEL4_texOff(vec2(-1,-1));
res += mat4(-0.002927122870460,-0.008589621633291,-0.006834025960416,0.005842775572091,0.008300253190100,-0.005364234093577,-0.037860613316298,-0.034268110990524,-0.000740684859920,0.000806568539701,-0.000188106219866,-0.001393744256347,0.006081005558372,0.009133130311966,0.008940057829022,0.009103047661483) * MODEL4_texOff(vec2(-1,0));
res += mat4(0.001704744761810,0.002467613201588,0.001092716003768,-0.000576358695980,-0.000206142722163,-0.002034843666479,-0.004804839845747,0.001537915202789,0.001624409458600,0.001176565187052,-0.001339714275673,-0.001959807705134,-0.001120008295402,-0.001162059139460,0.001308483071625,0.003244365332648) * MODEL4_texOff(vec2(-1,1));
res += mat4(-0.074633970856667,-0.014906498603523,0.013565448112786,0.008668823167682,0.060119565576315,0.004398221615702,-0.023026237264276,-0.015338152647018,-0.002560621360317,-0.005951146129519,-0.006001137197018,-0.006126105319709,-0.016531184315681,-0.002850141143426,0.006073801778257,0.006724072154611) * MODEL4_texOff(vec2(0,-1));
res += mat4(0.009769256226718,0.008173502050340,-0.045084204524755,-0.101956978440285,-0.020822361111641,-0.016908239573240,0.024943297728896,0.071896001696587,-0.023132193833590,-0.024664893746376,0.020625740289688,0.019959563389421,-0.016773566603661,-0.029708830639720,-0.038349051028490,-0.033680420368910) * MODEL4_texOff(vec2(0,0));
res += mat4(-0.005456238985062,-0.004820751491934,-0.006112464703619,-0.005151550285518,0.004412549082190,0.004272256512195,0.000143856319482,-0.007495262660086,0.000626027642284,0.001110521261580,0.010564251802862,0.012457016855478,-0.000489690224640,0.000297179154586,-0.000021551019017,-0.006435678340495) * MODEL4_texOff(vec2(0,1));
res += mat4(-0.005459754262120,-0.019128650426865,-0.011435852386057,-0.002040134277195,-0.008664713241160,-0.002986855339259,0.001793469651602,0.000736595771741,0.004255485255271,-0.006941511761397,-0.007400176022202,-0.004012736491859,0.011557569727302,0.003477774327621,0.001484033651650,0.001225663465448) * MODEL4_texOff(vec2(1,-1));
res += mat4(-0.018129086121917,-0.020765393972397,0.000613796641119,0.014309023506939,0.002932819537818,0.002388085238636,0.000138651230372,-0.003422375768423,-0.020507166162133,-0.032645318657160,0.009581786580384,0.024676438421011,-0.000622367486358,0.019126471132040,0.027419218793511,0.024150280281901) * MODEL4_texOff(vec2(1,0));
res += mat4(-0.001003299024887,-0.002999728545547,-0.002604180015624,-0.002241726266220,0.000427264370956,0.000299392355373,-0.000238536420511,-0.000777354522143,-0.001070368220098,0.000013236031918,0.011469268240035,0.015844618901610,0.000417903182097,-0.005872349254787,-0.014414605684578,-0.016998466104269) * MODEL4_texOff(vec2(1,1));
res += mat4(-0.004497579764575,-0.004900628235191,0.000904650252778,0.002317899372429,0.004818569403142,0.002789607737213,0.000823116046377,-0.000276887119981,0.002755971858278,0.001882104785182,0.000508981000166,-0.000791833095718,-0.002918892074376,-0.001958866836503,0.000233338039834,0.001027132268064) * MODEL5_texOff(vec2(-1,-1));
res += mat4(-0.001807263004594,0.004335035104305,0.004980790428817,0.002705322811380,0.007981707341969,0.008167427033186,0.007541345898062,0.006982914637774,-0.000498133013025,-0.002173871966079,-0.002869402989745,0.000026964624340,-0.003417230676860,0.003221427090466,0.004237667657435,-0.001109484815970) * MODEL5_texOff(vec2(-1,0));
res += mat4(0.000185970886378,0.001729650888592,0.002031801268458,-0.003245734376833,0.000415100832470,0.001419769600034,0.004581479355693,0.006922913715243,-0.005132701247931,-0.005794438533485,-0.003331079147756,-0.000173003601958,-0.002129480475560,-0.003775990102440,-0.004435156006366,-0.006170477718115) * MODEL5_texOff(vec2(-1,1));
res += mat4(0.058104749768972,0.012697671540082,-0.013251441530883,-0.005925422068685,-0.016696445643902,-0.002674127696082,0.006324952933937,0.004939785692841,0.007198204286397,0.015991432592273,0.011917869560421,0.004419640172273,0.015557063743472,0.001662057009526,-0.004498135764152,-0.004327434580773) * MODEL5_texOff(vec2(0,-1));
res += mat4(0.059733372181654,-0.005869810003787,-0.088316060602665,-0.003025629092008,-0.011503857560456,-0.027678811922669,-0.035650230944157,-0.031950671225786,-0.013563621789217,-0.021895814687014,-0.022991325706244,-0.012585273012519,0.018623866140842,-0.012923815287650,-0.006187604274601,0.018750395625830) * MODEL5_texOff(vec2(0,0));
res += mat4(-0.004225140903145,-0.008248266763985,-0.015229866839945,0.006928275339305,-0.006769038736820,-0.006560986395925,-0.002867818111554,-0.001030751504004,0.004993977025151,0.007351691834629,0.006475958973169,-0.000740461167879,-0.004489450249821,-0.005518653895706,0.013191409409046,0.035995326936245) * MODEL5_texOff(vec2(0,1));
res += mat4(-0.003145207185298,-0.002261010697111,0.003323462791741,0.004162248224020,-0.005018285010010,0.003572257002816,0.009189937263727,0.007371835876256,0.009113055653870,0.007851699367166,0.002372070681304,-0.000340291473549,0.002953431103379,0.004229258745909,0.003133201738819,0.001821280922741) * MODEL5_texOff(vec2(1,-1));
res += mat4(0.002005504909903,0.006420914549381,-0.001540276338346,-0.004122081212699,0.035447411239147,0.022830747067928,0.006611180491745,-0.005535153206438,-0.015856260433793,-0.006360216531903,0.002903773682192,0.007282312959433,0.030007727444172,0.040158893913031,0.023294476792216,0.004648739006370) * MODEL5_texOff(vec2(1,0));
res += mat4(0.001938448869623,0.001487351371907,-0.000604403961916,-0.003799937665462,-0.004903736989945,-0.001332531915978,0.011698963120580,0.027920959517360,0.010758640244603,0.013189043849707,0.005445885472000,-0.009592797607183,0.004949775524437,0.005226674024016,0.003677289234474,0.009099110029638) * MODEL5_texOff(vec2(1,1));
res += mat4(0.004237430635840,0.002961117075756,0.000956357864197,0.001733363489620,-0.003203800180927,-0.003184102475643,-0.002449691994116,-0.001859474228695,0.005134336650372,0.005865802057087,0.006214209832251,0.002718931762502,0.002063191961497,0.000456896319520,-0.000374127906980,-0.000412774475990) * MODEL6_texOff(vec2(-1,-1));
res += mat4(-0.000384493323509,-0.005241600796580,-0.006515877321362,-0.000945083971601,0.004025060217828,-0.001688727992587,-0.002610749797896,-0.001297761220485,0.005644657649100,0.007734932936728,0.010655399411917,0.008350702002645,0.004279615357518,0.004442411009222,0.003848068416119,0.003239318495616) * MODEL6_texOff(vec2(-1,0));
res += mat4(0.002405224833637,0.002611773321405,0.000870402727742,-0.000735327659640,0.007270017638803,0.008469151332974,0.008702876046300,0.008454702794552,-0.003995289094746,-0.001670816796832,0.001492575742304,0.003594069974497,-0.001543305232190,-0.001360889058560,0.000618959602434,0.002842499176040) * MODEL6_texOff(vec2(-1,1));
res += mat4(-0.045892573893070,0.013920667581260,0.020642509683967,0.005071681924164,0.025977540761232,0.003019020892680,-0.002301516942680,-0.000247498246608,0.019455991685390,0.011759524233639,0.004274512641132,0.001219780882820,-0.006986832246184,-0.003337104339153,-0.001658268738538,-0.001126672374085) * MODEL6_texOff(vec2(0,-1));
res += mat4(0.002501458628103,0.033890258520842,0.029369974508882,-0.046707551926374,-0.078117400407791,-0.050870146602392,0.024710949510336,0.055482648313046,-0.029392223805189,-0.056673828512430,-0.044509567320347,-0.003182378830388,-0.007701926399022,-0.010599453933537,-0.010364339686930,-0.008961284533143) * MODEL6_texOff(vec2(0,0));
res += mat4(-0.005382259842008,-0.008402118459344,-0.002881012856960,0.005489003378898,0.005810127593577,0.017525400966406,0.013626075349748,-0.029497986659408,0.001915028784424,0.006490526720881,0.013251387514174,0.008172903209925,0.002709404099733,0.001865492202342,-0.001091503072530,-0.003999955486506) * MODEL6_texOff(vec2(0,1));
res += mat4(-0.010210196487606,0.020665954798460,0.011933228932321,-0.000351180759026,-0.007889462634921,0.007992406375706,0.003482107305899,-0.001568715320900,-0.004195207729936,0.002763318829238,0.002630772534758,0.000027761689125,0.011521121487021,0.001896145287901,-0.000772806757595,-0.000566599192098) * MODEL6_texOff(vec2(1,-1));
res += mat4(0.007584682665765,0.014246220700443,0.001804097555578,-0.027960332110524,0.017162237316370,0.022455636411905,-0.000837592175230,-0.020828654989600,0.000310336094117,-0.002000482752919,-0.009403550066054,-0.011294908821583,0.036382071673870,0.060991294682026,0.058859571814537,0.037832111120224) * MODEL6_texOff(vec2(1,0));
res += mat4(-0.002796298591420,-0.004097891040146,-0.001298485440202,0.003536717500538,-0.004189325030893,-0.004936023615301,-0.005789726506919,-0.000028757758628,0.003074341453612,0.007376255001873,0.003726725932211,-0.003151192096993,-0.002640333725139,-0.004446105100214,-0.004838884342462,0.003498576348647) * MODEL6_texOff(vec2(1,1));
#endif

return res;
}

//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w 3.200 * > OUTPUT.h LUMA.h 3.200 * > *
//!WIDTH LUMA.w 4 *
//!HEIGHT LUMA.h 4 *
//!BIND SUBCONV1
//!BIND SUBCONV2
//!BIND SUBCONV3
//!BIND SUBCONV4
//!BIND LANCZOS3
//!DESC [AiUpscale_Fast_4x_LineArt_RT] depth to space

vec4 hook()
{
vec2 fcoord = fract(SUBCONV1_pos * SUBCONV1_size);
vec2 base = SUBCONV1_pos + (vec2(0.5) - fcoord) * SUBCONV1_pt;
ivec2 index = ivec2(fcoord * vec2(4));
mat4 res = mat4(SUBCONV1_tex(base),SUBCONV2_tex(base),SUBCONV3_tex(base),SUBCONV4_tex(base));
return vec4(res[index.x][index.y] + float(LANCZOS3_texOff(0)), 0, 0, 1);
}
